OpenDDS::DCPS::SequenceNumber Class Reference

Sequence number abstraction. Only allows positive 64 bit values. More...

#include <Definitions.h>

Collaboration diagram for OpenDDS::DCPS::SequenceNumber:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_INT64 Value

Public Member Functions

 SequenceNumber (Value value=MIN_VALUE)
 Construct with a value, default to negative starting point.
SequenceNumberoperator= (const SequenceNumber &rhs)
 Allow assignments.
SequenceNumberoperator++ ()
 Pre-increment.
SequenceNumber operator++ (int)
 Post-increment.
SequenceNumber previous () const
void setValue (Value value)
Value getValue () const
bool operator< (const SequenceNumber &rvalue) const
bool operator== (const SequenceNumber &rvalue) const
 Derive a full suite of logical operations.
bool operator!= (const SequenceNumber &rvalue) const
bool operator>= (const SequenceNumber &rvalue) const
bool operator<= (const SequenceNumber &rvalue) const
bool operator> (const SequenceNumber &rvalue) const
ACE_INT32 getHigh () const
ACE_UINT32 getLow () const

Static Public Member Functions

static SequenceNumber SEQUENCENUMBER_UNKNOWN ()

Static Public Attributes

static const Value MAX_VALUE = ACE_INT64_MAX
static const Value MIN_VALUE = 1
static const Value LOW_BASE = 0x0000000100000000LL

Private Member Functions

 SequenceNumber (ACE_INT32 high, ACE_UINT32 low)

Private Attributes

ACE_INT32 high_
ACE_UINT32 low_

Friends

ACE_CDR::Boolean operator>> (Serializer &s, SequenceNumber &x)

Detailed Description

Sequence number abstraction. Only allows positive 64 bit values.


Member Typedef Documentation

typedef ACE_INT64 OpenDDS::DCPS::SequenceNumber::Value


Constructor & Destructor Documentation

OpenDDS::DCPS::SequenceNumber::SequenceNumber ( Value  value = MIN_VALUE  )  [inline]

Construct with a value, default to negative starting point.

OpenDDS::DCPS::SequenceNumber::SequenceNumber ( ACE_INT32  high,
ACE_UINT32  low 
) [inline, private]


Member Function Documentation

ACE_INT32 OpenDDS::DCPS::SequenceNumber::getHigh (  )  const [inline]

ACE_UINT32 OpenDDS::DCPS::SequenceNumber::getLow (  )  const [inline]

Value OpenDDS::DCPS::SequenceNumber::getValue (  )  const [inline]

bool OpenDDS::DCPS::SequenceNumber::operator!= ( const SequenceNumber rvalue  )  const [inline]

SequenceNumber OpenDDS::DCPS::SequenceNumber::operator++ ( int   )  [inline]

Post-increment.

SequenceNumber& OpenDDS::DCPS::SequenceNumber::operator++ (  )  [inline]

Pre-increment.

bool OpenDDS::DCPS::SequenceNumber::operator< ( const SequenceNumber rvalue  )  const [inline]

N.B. This comparison assumes that the shortest distance between the values being compared is the positive counting sequence between them. This means that MAX-2 is less than 2 since they are separated by only four counts from MAX-2 to 2. But that 2 is less than MAX/2 since the shortest distance is from 2 to MAX/2.

bool OpenDDS::DCPS::SequenceNumber::operator<= ( const SequenceNumber rvalue  )  const [inline]

SequenceNumber& OpenDDS::DCPS::SequenceNumber::operator= ( const SequenceNumber rhs  )  [inline]

Allow assignments.

bool OpenDDS::DCPS::SequenceNumber::operator== ( const SequenceNumber rvalue  )  const [inline]

Derive a full suite of logical operations.

bool OpenDDS::DCPS::SequenceNumber::operator> ( const SequenceNumber rvalue  )  const [inline]

bool OpenDDS::DCPS::SequenceNumber::operator>= ( const SequenceNumber rvalue  )  const [inline]

SequenceNumber OpenDDS::DCPS::SequenceNumber::previous (  )  const [inline]

static SequenceNumber OpenDDS::DCPS::SequenceNumber::SEQUENCENUMBER_UNKNOWN (  )  [inline, static]

void OpenDDS::DCPS::SequenceNumber::setValue ( Value  value  )  [inline]


Friends And Related Function Documentation

ACE_CDR::Boolean operator>> ( Serializer s,
SequenceNumber x 
) [friend]


Member Data Documentation

ACE_INT32 OpenDDS::DCPS::SequenceNumber::high_ [private]

ACE_UINT32 OpenDDS::DCPS::SequenceNumber::low_ [private]

const Value OpenDDS::DCPS::SequenceNumber::LOW_BASE = 0x0000000100000000LL [static]

const Value OpenDDS::DCPS::SequenceNumber::MAX_VALUE = ACE_INT64_MAX [static]

const Value OpenDDS::DCPS::SequenceNumber::MIN_VALUE = 1 [static]


The documentation for this class was generated from the following file:
Generated on Wed Nov 16 15:28:43 2011 for OpenDDS by  doxygen 1.4.7