CIdentifier Class Reference

Base class to work with EBML identifiers. More...

Public Member Functions

Constructors
 CIdentifier (void)
 Basic constructor. More...
 
 CIdentifier (const EBML::uint64 ui64Identifier)
 Integer based constructor. More...
 
 CIdentifier (const EBML::uint32 ui32Identifier1, const EBML::uint32 ui32Identifier2)
 32 bits integer based constructor More...
 
 CIdentifier (const EBML::CIdentifier &rIdentifier)
 Copy constructor. More...
 

Protected Attributes

EBML::uint64 m_ui64Identifier
 The 64 bits value of this identifier.
 

Operators

const EBML::CIdentifieroperator= (const EBML::CIdentifier &rIdentifier)
 Copy operator. More...
 
 operator EBML::uint64 (void) const
 Cast operator. More...
 
EBML::uint64 toUInteger (void) const
 Conversion to 64 bits unsigned int (should be used instead of the cast) More...
 
EBML_API bool operator== (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Equality comparison operator. More...
 
EBML_API bool operator!= (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Difference comparison operator. More...
 
EBML_API bool operator<= (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Ordering comparison operator. More...
 
EBML_API bool operator>= (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Ordering comparison operator. More...
 
EBML_API bool operator< (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Ordering comparison operator. More...
 
EBML_API bool operator> (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Ordering comparison operator. More...
 

Detailed Description

Base class to work with EBML identifiers.

Author
Yann Renard (INRIA/IRISA)
Date
2006-08-07 This class is used in order to work on EBML identifier. It handles 64 bits values for now, but could easily be changed to handle bigger values if needed.

Be sure to look at http://ebml.sourceforge.net/specs/ in order to understand what an identifier is and how it works

Constructor & Destructor Documentation

CIdentifier ( void  )

Basic constructor.

Initializes the identifier to 0.

References CIdentifier::m_ui64Identifier.

CIdentifier ( const EBML::uint64  ui64Identifier)

Integer based constructor.

Parameters
ui64Identifier[in] : The value to use

Initializes the identifier to the given 64 bits value.

CIdentifier ( const EBML::uint32  ui32Identifier1,
const EBML::uint32  ui32Identifier2 
)

32 bits integer based constructor

Parameters
ui32Identifier1[in] : the first part of the identifier
ui32Identifier2[in] : the second part of the identifier

Builds up the 64 bits identifier given its two 32 bits components.

CIdentifier ( const EBML::CIdentifier rIdentifier)

Copy constructor.

Parameters
rIdentifier[in] : The source identifier to use

Initializes this identifier to the same value as the given source identifier.

Member Function Documentation

const CIdentifier & operator= ( const EBML::CIdentifier rIdentifier)

Copy operator.

Parameters
rIdentifier[in] : The source identifier to copy from
Returns
a const reference on this identifier

Initializes this identifier to the same value as the given source identifier.

References CIdentifier::m_ui64Identifier.

operator EBML::uint64 ( void  ) const

Cast operator.

Returns
the 64 bits value contained by this identifier.
uint64 toUInteger ( void  ) const

Conversion to 64 bits unsigned int (should be used instead of the cast)

Returns
the 64 bits value contained by this identifier.

References CIdentifier::m_ui64Identifier.

Friends And Related Function Documentation

EBML_API bool operator== ( const EBML::CIdentifier rIdentifier1,
const EBML::CIdentifier rIdentifier2 
)
friend

Equality comparison operator.

Parameters
rIdentifier1[in] : The first identifier to compare
rIdentifier2[in] : The second identifier to compare
Returns
true when the identifiers are equal, false when they are different.

This function compares the two 64 bits values.

EBML_API bool operator!= ( const EBML::CIdentifier rIdentifier1,
const EBML::CIdentifier rIdentifier2 
)
friend

Difference comparison operator.

Parameters
rIdentifier1[in] : The first identifier to compare
rIdentifier2[in] : The second identifier to compare
Returns
true when the identifiers are different, false when they are equal.

This function compares the two 64 bits values.

EBML_API bool operator<= ( const EBML::CIdentifier rIdentifier1,
const EBML::CIdentifier rIdentifier2 
)
friend

Ordering comparison operator.

Parameters
rIdentifier1[in] : The first identifier to compare
rIdentifier2[in] : The second identifier to compare
Returns
true when the first identifier is lesser or equal to the second identifier, false in other cases.

This function compares the two 64 bits values.

EBML_API bool operator>= ( const EBML::CIdentifier rIdentifier1,
const EBML::CIdentifier rIdentifier2 
)
friend

Ordering comparison operator.

Parameters
rIdentifier1[in] : The first identifier to compare
rIdentifier2[in] : The second identifier to compare
Returns
true when the first identifier is greater or equal to the second identifier, false in other cases.

This function compares the two 64 bits values.

EBML_API bool operator< ( const EBML::CIdentifier rIdentifier1,
const EBML::CIdentifier rIdentifier2 
)
friend

Ordering comparison operator.

Parameters
rIdentifier1[in] : The first identifier to compare
rIdentifier2[in] : The second identifier to compare
Returns
true when the first identifier is lesser and not equal to the second identifier, false in other cases.

This function compares the two 64 bits values.

EBML_API bool operator> ( const EBML::CIdentifier rIdentifier1,
const EBML::CIdentifier rIdentifier2 
)
friend

Ordering comparison operator.

Parameters
rIdentifier1[in] : The first identifier to compare
rIdentifier2[in] : The second identifier to compare
Returns
true when the first identifier is greater and not equal to the second identifier, false in other cases.

This function compares the two 64 bits values.