Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
icl_core::SequenceNumber< TBase, max_value, min_value, initial_value > Class Template Reference

#include <SequenceNumber.h>

Public Member Functions

 operator TBase () const
 
bool operator!= (const SequenceNumber &other) const
 
SequenceNumberoperator++ ()
 
SequenceNumber operator++ (int)
 
bool operator< (const SequenceNumber &other) const
 
bool operator<= (const SequenceNumber &other) const
 
SequenceNumberoperator= (const SequenceNumber &other)
 
SequenceNumberoperator= (TBase value)
 
bool operator== (const SequenceNumber &other) const
 
bool operator> (const SequenceNumber &other) const
 
bool operator>= (const SequenceNumber &other) const
 
 SequenceNumber (TBase value=initial_value)
 
 SequenceNumber (const SequenceNumber &other)
 

Static Public Member Functions

static TBase maxValue ()
 
static TBase minValue ()
 

Private Attributes

TBase m_value
 

Detailed Description

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
class icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >

Implements a sequence number which can wrap around with the internal type TBase, the minimum value min_value, the maximum value max_value and the initial value initial_value.

Definition at line 45 of file SequenceNumber.h.

Constructor & Destructor Documentation

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::SequenceNumber ( TBase  value = initial_value)
inlineexplicit

Constructs a new sequence number.

Parameters
valueThe sequence number value.

Definition at line 52 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::SequenceNumber ( const SequenceNumber< TBase, max_value, min_value, initial_value > &  other)
inline

Constructs a new sequence number as a copy of other.

Definition at line 60 of file SequenceNumber.h.

Member Function Documentation

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
static TBase icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::maxValue ( )
inlinestatic

Get the maximum sequence number value.

Definition at line 172 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
static TBase icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::minValue ( )
inlinestatic

Get the minimum sequence number value.

Definition at line 180 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator TBase ( ) const
inline

Implicit conversion to TBase.

Definition at line 164 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
bool icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator!= ( const SequenceNumber< TBase, max_value, min_value, initial_value > &  other) const
inline

Compares two sequence numbers for inequality.

Definition at line 133 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
SequenceNumber& icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator++ ( )
inline

Prefix increment operator.

Definition at line 141 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
SequenceNumber icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator++ ( int  )
inline

Postfix increment operator.

Definition at line 154 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
bool icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator< ( const SequenceNumber< TBase, max_value, min_value, initial_value > &  other) const
inline

Checks if this sequence number is lower than the other.

Definition at line 86 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
bool icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator<= ( const SequenceNumber< TBase, max_value, min_value, initial_value > &  other) const
inline

Checks if this sequence number is lower than or equal to the other.

Definition at line 101 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
SequenceNumber& icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator= ( const SequenceNumber< TBase, max_value, min_value, initial_value > &  other)
inline

Assigns a sequence number.

Definition at line 68 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
SequenceNumber& icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator= ( TBase  value)
inline

Assigns the raw data type.

Definition at line 77 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
bool icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator== ( const SequenceNumber< TBase, max_value, min_value, initial_value > &  other) const
inline

Compares two sequence numbers for equality.

Definition at line 125 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
bool icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator> ( const SequenceNumber< TBase, max_value, min_value, initial_value > &  other) const
inline

Checks if this sequence number is greater than the other.

Definition at line 109 of file SequenceNumber.h.

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
bool icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::operator>= ( const SequenceNumber< TBase, max_value, min_value, initial_value > &  other) const
inline

Checks if this sequence number is greater than or equal to the other.

Definition at line 117 of file SequenceNumber.h.

Member Data Documentation

template<typename TBase, TBase max_value, TBase min_value = 0, TBase initial_value = min_value>
TBase icl_core::SequenceNumber< TBase, max_value, min_value, initial_value >::m_value
private

Definition at line 204 of file SequenceNumber.h.


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


fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:59