Embedded Multicore Building Blocks V1.0.0
Public Member Functions | Static Public Member Functions | List of all members
embb::base::Duration< Tick > Class Template Reference

Represents a relative time duration for a given tick type. More...

#include <duration.h>

Public Member Functions

 Duration ()
 Constructs a duration of length zero. More...
 
 Duration (unsigned long long ticks)
 Constructs a duration with given number of ticks. More...
 
 Duration (const Duration< Tick > &to_copy)
 Constructs a duration by copying from an existing duration. More...
 
Duration< Tick > & operator= (const Duration< Tick > &to_assign)
 Assigns an existing duration. More...
 
unsigned long long Count () const
 Returns the number of ticks of the duration. More...
 
Duration< Tick > & operator+= (const Duration< Tick > &rhs)
 Assignment by addition of another duration with same tick type. More...
 

Static Public Member Functions

static const Duration< Tick > & Zero ()
 Returns duration of length zero. More...
 
static const Duration< Tick > & Max ()
 Returns duration with maximum ticks representable by implementation. More...
 
static const Duration< Tick > & Min ()
 Returns duration with minimum ticks representable by implementation. More...
 

Detailed Description

template<typename Tick>
class embb::base::Duration< Tick >

Represents a relative time duration for a given tick type.

Concurrency
Not thread-safe
Note
The typedefs DurationSeconds, DurationMilliseconds, DurationMicroseconds, and DurationNanoseconds provide directly usable duration types.
Template Parameters
TickPossible tick types are Seconds, Milliseconds, Microseconds, Nanoseconds

Constructor & Destructor Documentation

template<typename Tick>
embb::base::Duration< Tick >::Duration ( )

Constructs a duration of length zero.

template<typename Tick>
embb::base::Duration< Tick >::Duration ( unsigned long long  ticks)
explicit

Constructs a duration with given number of ticks.

Parameters
[in]ticksNumber of ticks
template<typename Tick>
embb::base::Duration< Tick >::Duration ( const Duration< Tick > &  to_copy)

Constructs a duration by copying from an existing duration.

Parameters
[in]to_copyDuration to copy

Member Function Documentation

template<typename Tick>
static const Duration<Tick>& embb::base::Duration< Tick >::Zero ( )
static

Returns duration of length zero.

Returns
Duration of length zero
template<typename Tick>
static const Duration<Tick>& embb::base::Duration< Tick >::Max ( )
static

Returns duration with maximum ticks representable by implementation.

This value depends on the tick type and on the platform.

Returns
Reference to duration with maximum value
template<typename Tick>
static const Duration<Tick>& embb::base::Duration< Tick >::Min ( )
static

Returns duration with minimum ticks representable by implementation.

This value depends on the tick type and on the platform.

Returns
Reference to duration with minimum value
template<typename Tick>
Duration<Tick>& embb::base::Duration< Tick >::operator= ( const Duration< Tick > &  to_assign)

Assigns an existing duration.

Returns
Reference to *this
Parameters
[in]to_assignDuration to assign
template<typename Tick>
unsigned long long embb::base::Duration< Tick >::Count ( ) const

Returns the number of ticks of the duration.

Returns
Number of ticks of the duration
template<typename Tick>
Duration<Tick>& embb::base::Duration< Tick >::operator+= ( const Duration< Tick > &  rhs)

Assignment by addition of another duration with same tick type.

Returns
Reference to *this
Parameters
[in]rhsDuration to add to this duration