CIdentifier Class Reference

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

List of all members.

Public Member Functions

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

Protected Attributes

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

Operators

const EBML::CIdentifieroperator= (const EBML::CIdentifier &rIdentifier)
 Copy operator.
 operator EBML::uint64 (void) const
 Cast operator.
OV_API bool operator== (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Equality comparison operator.
OV_API bool operator!= (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Difference comparison operator.
OV_API bool operator<= (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Ordering comparison operator.
OV_API bool operator>= (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Ordering comparison operator.
OV_API bool operator< (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Ordering comparison operator.
OV_API bool operator> (const EBML::CIdentifier &rIdentifier1, const EBML::CIdentifier &rIdentifier2)
 Ordering comparison operator.

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.

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 EBML::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.

operator EBML::uint64 ( void  ) const

Cast operator.

Returns:
the 64 bits value contained by this identifier.

Friends And Related Function Documentation

OV_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.

OV_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.

OV_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.

OV_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.

OV_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.

OV_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.