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.

Definition at line 80 of file tp_timeinterval.h.

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).

Definition at line 87 of file tp_timeinterval.h.

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

Default destructor.

Definition at line 92 of file tp_timeinterval.h.


Member Function Documentation

void TimeInterval::Canonical void   ) 
 

Convert to canonical representation.

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

Definition at line 16 of file tp_timeinterval.cpp.

bool TimeInterval::Empty void   )  const
 

Test interval for empty set.

Returns:
True if interval is empty

Definition at line 30 of file tp_timeinterval.cpp.

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

Test whether interval is full.

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

Definition at line 244 of file tp_timeinterval.h.

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

Test whether a point satisfies interval.

Returns:
True if interval includes the point

Definition at line 40 of file tp_timeinterval.cpp.

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

Test whether interval includes (-inf,0].

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

Definition at line 269 of file tp_timeinterval.h.

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

Test whether interval includes [0,inf).

Returns:
True if interval includes [0,inf)

Definition at line 260 of file tp_timeinterval.h.

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.

Definition at line 114 of file tp_timeinterval.cpp.

void TimeInterval::Intersect const TimeInterval rOtherInterval  ) 
 

Intersect this interval with other interval.

Parameters:
rOtherInterval 

Definition at line 85 of file tp_timeinterval.cpp.

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

Return lower bound.

Returns:
lower bound

Definition at line 174 of file tp_timeinterval.h.

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

Definition at line 102 of file tp_timeinterval.h.

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

Test for lower bound inclusive.

Returns:
true for inclusive

Definition at line 181 of file tp_timeinterval.h.

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 

Definition at line 144 of file tp_timeinterval.h.

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

Test for lower bound infinity.

Returns:
true for infinity

Definition at line 195 of file tp_timeinterval.h.

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.

Definition at line 147 of file tp_timeinterval.cpp.

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

Definition at line 125 of file tp_timeinterval.cpp.

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

Definition at line 308 of file tp_timeinterval.h.

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

Definition at line 290 of file tp_timeinterval.h.

void TimeInterval::PositiveLeftShift tpTime::Type  time  ) 
 

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

Parameters:
time Amount to shift left

Definition at line 49 of file tp_timeinterval.cpp.

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

Set to empty (1, -1).

Definition at line 222 of file tp_timeinterval.h.

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

Set to full (-inf, +inf).

Definition at line 216 of file tp_timeinterval.h.

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

Set lower bound to infinity.

Definition at line 159 of file tp_timeinterval.h.

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

Set to negative (-inf, 0].

Definition at line 235 of file tp_timeinterval.h.

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

Set to positive [0, inf).

Definition at line 228 of file tp_timeinterval.h.

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

Set upper bound to infinity.

Definition at line 153 of file tp_timeinterval.h.

std::string TimeInterval::Str void   )  const
 

Pretty printable string.

Returns:
printable string.

Definition at line 59 of file tp_timeinterval.cpp.

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

Return upper bound.

Returns:
upper bound

Definition at line 167 of file tp_timeinterval.h.

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

Definition at line 118 of file tp_timeinterval.h.

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

Test for upper bound inclusive.

Returns:
true for inclusive

Definition at line 188 of file tp_timeinterval.h.

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 

Definition at line 132 of file tp_timeinterval.h.

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

Test for upper bound infinity.

Returns:
true for infinity

Definition at line 202 of file tp_timeinterval.h.


Member Data Documentation

bool faudes::TimeInterval::mbLBincl [private]
 

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

Definition at line 384 of file tp_timeinterval.h.

bool faudes::TimeInterval::mbUBincl [private]
 

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

Definition at line 381 of file tp_timeinterval.h.

tpTime::Type faudes::TimeInterval::mstLB [private]
 

Lower bound.

Definition at line 378 of file tp_timeinterval.h.

tpTime::Type faudes::TimeInterval::mstUB [private]
 

Upper bound.

Definition at line 375 of file tp_timeinterval.h.


The documentation for this class was generated from the following files:
Generated on Mon Nov 10 08:13:18 2008 for libFAUDES 2.11v by  doxygen 1.4.4