libFAUDES

Sections

Index

faudes::TimeInterval Class Reference
[Timed Automata PlugIn]

#include <tp_timeinterval.h>

List of all members.


Detailed Description

Model of a time interval.

An interval consisits of a lower and upper bound, plus flags to indicate whether the bounds are inclusive or not. The maximum and minimum values of the time data tyle are interpreted as infinity.

Public Member Functions

 TimeInterval (void)
 Default constructor - sets time interval to (-inf; +inf).
 ~TimeInterval (void)
 Default destructor.
void LB (tpTime::Type time)
 Set the lower bound to a given value.
void UB (tpTime::Type time)
 Set the upper bound to a given value.
void UBincl (bool incl)
 Configures the upper bound to be inclusive.
void LBincl (bool incl)
 Configures the lower bound to be inclusive.
void setUBinf (void)
 Set upper bound to infinity.
void setLBinf (void)
 Set lower bound to infinity.
tpTime::Type UB (void) const
 Return upper bound.
tpTime::Type LB (void) const
 Return lower bound.
bool LBincl (void) const
 Test for lower bound inclusive.
bool UBincl (void) const
 Test for upper bound inclusive.
bool LBinf (void) const
 Test for lower bound infinity.
bool UBinf (void) const
 Test for upper bound infinity.
void Canonical (void)
 Convert to canonical representation.
void SetFull (void)
 Set to full (-inf, +inf).
void SetEmpty (void)
 Set to empty (1, -1).
void SetPositive (void)
 Set to positive [0, inf).
void SetNegative (void)
 Set to negative (-inf, 0].
bool Full (void) const
 Test whether interval is full.
bool Empty (void) const
 Test interval for empty set.
bool IncludesPositive (void) const
 Test whether interval includes [0,inf).
bool IncludesNegative (void) const
 Test whether interval includes (-inf,0].
bool In (tpTime::Type time) const
 Test whether a point satisfies interval.
bool operator== (const TimeInterval &rOtherInterval) const
 Test whether two intervals are equal.
bool operator!= (const TimeInterval &rOtherInterval) const
 Test whether two intervals not equal.
void PositiveLeftShift (tpTime::Type time)
 Transform by left shift and intersection with [0, inf).
void Intersect (const TimeInterval &rOtherInterval)
 Intersect this interval with other interval.
void Merge (const TimeInterval &rOtherInterval)
 Merge this interval with other interval.
std::string Str (void) const
 Pretty printable string.

Static Public Member Functions

static TimeInterval Intersect (const TimeInterval &rInterval1, const TimeInterval &rInterval2)
 Intersection of two time intervals.
static TimeInterval Merge (const TimeInterval &rInterval1, const TimeInterval &rInterval2)
 Merge this interval with other interval.

Private Attributes

tpTime::Type mstUB
 Upper bound.
tpTime::Type mstLB
 Lower bound.
bool mbUBincl
 Flag to indicate that the upper bound is part of the interval.
bool mbLBincl
 Flag to indicate that lower boundary is part of the interval.


Constructor & Destructor Documentation

faudes::TimeInterval::TimeInterval ( void   )  [inline]

Default constructor - sets time interval to (-inf; +inf).

faudes::TimeInterval::~TimeInterval ( void   )  [inline]

Default destructor.


Member Function Documentation

void faudes::TimeInterval::LB ( tpTime::Type  time  )  [inline]

Set the lower bound to a given value.

If the value is minus infinity, it is set exclusive. Otherwise, the exclusive/inclusive flag is kept.

Parameters:
time The new value of lower bound

void faudes::TimeInterval::UB ( tpTime::Type  time  )  [inline]

Set the upper bound to a given value.

If the value is infinity, it is set exclusive. Otherwise, the exclusive/inclusive flag is kept.

Parameters:
time The new value of upper bound

void faudes::TimeInterval::UBincl ( bool  incl  )  [inline]

Configures the upper bound to be inclusive.

If the upper bound is infinity, it stays exclusive.

Parameters:
incl 

void faudes::TimeInterval::LBincl ( bool  incl  )  [inline]

Configures the lower bound to be inclusive.

If the lower bound is minus infinity, it stays exclusive.

Parameters:
incl 

void faudes::TimeInterval::setUBinf ( void   )  [inline]

Set upper bound to infinity.

void faudes::TimeInterval::setLBinf ( void   )  [inline]

Set lower bound to infinity.

tpTime::Type faudes::TimeInterval::UB ( void   )  const [inline]

Return upper bound.

Returns:
upper bound

tpTime::Type faudes::TimeInterval::LB ( void   )  const [inline]

Return lower bound.

Returns:
lower bound

bool faudes::TimeInterval::LBincl ( void   )  const [inline]

Test for lower bound inclusive.

Returns:
true for inclusive

bool faudes::TimeInterval::UBincl ( void   )  const [inline]

Test for upper bound inclusive.

Returns:
true for inclusive

bool faudes::TimeInterval::LBinf ( void   )  const [inline]

Test for lower bound infinity.

Returns:
true for infinity

bool faudes::TimeInterval::UBinf ( void   )  const [inline]

Test for upper bound infinity.

Returns:
true for infinity

void TimeInterval::Canonical ( void   ) 

Convert to canonical representation.

Uses tpTime::Step to convert to aleft closed / right opened representation

void faudes::TimeInterval::SetFull ( void   )  [inline]

Set to full (-inf, +inf).

void faudes::TimeInterval::SetEmpty ( void   )  [inline]

Set to empty (1, -1).

void faudes::TimeInterval::SetPositive ( void   )  [inline]

Set to positive [0, inf).

void faudes::TimeInterval::SetNegative ( void   )  [inline]

Set to negative (-inf, 0].

bool faudes::TimeInterval::Full ( void   )  const [inline]

Test whether interval is full.

Returns:
True if interval is (-inf,+inf)

bool TimeInterval::Empty ( void   )  const

Test interval for empty set.

Returns:
True if interval is empty

bool faudes::TimeInterval::IncludesPositive ( void   )  const [inline]

Test whether interval includes [0,inf).

Returns:
True if interval includes [0,inf)

bool faudes::TimeInterval::IncludesNegative ( void   )  const [inline]

Test whether interval includes (-inf,0].

Returns:
True if interval includes (-inf,0]

bool TimeInterval::In ( tpTime::Type  time  )  const

Test whether a point satisfies interval.

Returns:
True if interval includes the point

bool faudes::TimeInterval::operator== ( const TimeInterval rOtherInterval  )  const [inline]

Test whether two intervals are equal.

Note that the test is strictly based on the internal representation, ie [0,10] is not equal to [0,11). This may change in future implementations to consider the tpTime::TypeStep

Returns:
True on equality

bool faudes::TimeInterval::operator!= ( const TimeInterval rOtherInterval  )  const [inline]

Test whether two intervals not equal.

Note that the test is strictly based on the internal representation, ie [0,10] is not equal to [0,11). This may change in future implementations to consider the tpTime::TypeStep

Returns:
False on equality

void TimeInterval::PositiveLeftShift ( tpTime::Type  time  ) 

Transform by left shift and intersection with [0, inf).

Parameters:
time Amount to shift left

void TimeInterval::Intersect ( const TimeInterval rOtherInterval  ) 

Intersect this interval with other interval.

Parameters:
rOtherInterval 

TimeInterval TimeInterval::Intersect ( const TimeInterval rInterval1,
const TimeInterval rInterval2 
) [static]

Intersection of two time intervals.

Parameters:
rInterval1 Reference of first time interval
rInterval2 Reference of second time interval
Returns:
Intersection of both intervals.

void TimeInterval::Merge ( const TimeInterval rOtherInterval  ) 

Merge this interval with other interval.

I.e. find smallest superset of the union of the two intervals.

Parameters:
rOtherInterval Reference to other time interval

TimeInterval TimeInterval::Merge ( const TimeInterval rInterval1,
const TimeInterval rInterval2 
) [static]

Merge this interval with other interval.

I.e. find smallest superset of the union of the two intervals.

Parameters:
rInterval1 Reference of first time interval
rInterval2 Reference of second time interval
Returns:
Superset of both intervals.

std::string TimeInterval::Str ( void   )  const

Pretty printable string.

Returns:
printable string.


Member Data Documentation

Upper bound.

Lower bound.

Flag to indicate that the upper bound is part of the interval.

Flag to indicate that lower boundary is part of the interval.


The documentation for this class was generated from the following files:

libFAUDES 2.13a c++ source docu by doxygen 1.5.6