adevs
Classes | Typedefs | Functions
adevs_time.h File Reference
#include <limits>

Go to the source code of this file.

Classes

class  adevs::SuperDenseTime< RealType >
 This is the default super dense simulation time. More...
 

Typedefs

typedef SuperDenseTime< int > adevs::Time
 Default type to use for time.
 

Functions

template<class T >
adevs_inf ()
 Returns the maximum value for a time type. More...
 
template<>
adevs::SuperDenseTime< int > adevs_inf ()
 Returns the maximum value for a time type. More...
 
template<>
adevs::SuperDenseTime< long > adevs_inf ()
 Returns the maximum value for a time type. More...
 
template<>
adevs::SuperDenseTime< double > adevs_inf ()
 Returns the maximum value for a time type. More...
 
template<>
int adevs_inf ()
 Returns the maximum value for a time type. More...
 
template<typename T >
adevs_zero ()
 Returns the zero value for a time type. More...
 
template<>
adevs::SuperDenseTime< int > adevs_zero ()
 Returns the zero value for a time type. More...
 
template<>
adevs::SuperDenseTime< long > adevs_zero ()
 Returns the zero value for a time type. More...
 
template<>
adevs::SuperDenseTime< double > adevs_zero ()
 Returns the zero value for a time type. More...
 
template<>
int adevs_zero ()
 Returns the zero value for a time type. More...
 
template<class T >
adevs_epsilon ()
 Returns the smallest increment of time. More...
 
template<>
adevs::SuperDenseTime< int > adevs_epsilon ()
 Returns the smallest increment of time. More...
 
template<>
adevs::SuperDenseTime< long > adevs_epsilon ()
 Returns the smallest increment of time. More...
 
template<>
adevs::SuperDenseTime< double > adevs_epsilon ()
 Returns the smallest increment of time. More...
 
template<>
int adevs_epsilon ()
 Returns the smallest increment of time. More...
 

Detailed Description

Essential template functions for working with time.

A TimeType must offer support for +, -, <, <=, adevs_inf(), adevs_zero(), and adevs_epsilon().

Function Documentation

◆ adevs_epsilon() [1/5]

template<class T >
T adevs_epsilon ( )
inline

Returns the smallest increment of time.

For all h not zero and t, h < inf, t < t + h

Referenced by adevs_zero().

◆ adevs_epsilon() [2/5]

template<>
adevs::SuperDenseTime<int> adevs_epsilon ( )
inline

Returns the smallest increment of time.

For all h not zero and t, h < inf, t < t + h

◆ adevs_epsilon() [3/5]

template<>
adevs::SuperDenseTime<long> adevs_epsilon ( )
inline

Returns the smallest increment of time.

For all h not zero and t, h < inf, t < t + h

◆ adevs_epsilon() [4/5]

template<>
adevs::SuperDenseTime<double> adevs_epsilon ( )
inline

Returns the smallest increment of time.

For all h not zero and t, h < inf, t < t + h

◆ adevs_epsilon() [5/5]

template<>
int adevs_epsilon ( )
inline

Returns the smallest increment of time.

For all h not zero and t, h < inf, t < t + h

Referenced by adevs_zero().

◆ adevs_inf() [1/5]

template<class T >
T adevs_inf ( )
inline

Returns the maximum value for a time type.

For all t not inf(), t < inf()

References adevs_inf(), and adevs_zero().

Referenced by adevs_inf().

◆ adevs_inf() [2/5]

template<>
adevs::SuperDenseTime<int> adevs_inf ( )
inline

Returns the maximum value for a time type.

For all t not inf(), t < inf()

References adevs_inf().

◆ adevs_inf() [3/5]

template<>
adevs::SuperDenseTime<long> adevs_inf ( )
inline

Returns the maximum value for a time type.

For all t not inf(), t < inf()

◆ adevs_inf() [4/5]

template<>
adevs::SuperDenseTime<double> adevs_inf ( )
inline

Returns the maximum value for a time type.

For all t not inf(), t < inf()

◆ adevs_inf() [5/5]

template<>
int adevs_inf ( )
inline

Returns the maximum value for a time type.

For all t not inf(), t < inf()

References adevs_zero().

Referenced by adevs_inf().

◆ adevs_zero() [1/5]

template<typename T >
T adevs_zero ( )
inline

Returns the zero value for a time type.

t + 0 = 0 + t = t

References adevs_epsilon().

Referenced by adevs_inf().

◆ adevs_zero() [2/5]

template<>
adevs::SuperDenseTime<int> adevs_zero ( )
inline

Returns the zero value for a time type.

t + 0 = 0 + t = t

◆ adevs_zero() [3/5]

template<>
adevs::SuperDenseTime<long> adevs_zero ( )
inline

Returns the zero value for a time type.

t + 0 = 0 + t = t

◆ adevs_zero() [4/5]

template<>
adevs::SuperDenseTime<double> adevs_zero ( )
inline

Returns the zero value for a time type.

t + 0 = 0 + t = t

◆ adevs_zero() [5/5]

template<>
int adevs_zero ( )
inline

Returns the zero value for a time type.

t + 0 = 0 + t = t

References adevs_epsilon().

Referenced by adevs_inf().