IndexType Class Reference


Detailed Description

Complex index type for referencing metadata.

adsk::Data::Stream objects contain a list of data elements. Each element has to be accessed by Index. This is the base class for the complex index types.

#include <adskDataIndexType.h>

Inheritance diagram for IndexType:

List of all members.

Classes

class  IndexRegistration
 Helper class to automatically register new index types. More...

Public Member Functions

 IndexType (const IndexType &rhs)
 Copy constructor, simplest level.
virtual IndexTypeclone () const =0
 Create a duplicate of this object.
virtual std::string asString () const =0
 Get this index type value as a string.
virtual bool supportsDenseMode () const =0
 Check if this object type supports dense packing indexing.
virtual IndexCount denseSpaceBetween (const IndexType &rhs) const =0
 Calculate the number of elements to be packed between this one and the rhs.
virtual bool operator== (const IndexType &rhs) const =0
 Equality comparison of this object and the rhs.
virtual bool operator!= (const IndexType &rhs) const =0
 Unequality comparison of this object and the rhs.
virtual bool operator< (const IndexType &rhs) const =0
 LT-inequality comparison of this object and the rhs.
virtual bool operator<= (const IndexType &rhs) const =0
 LE-inequality comparison of this object and the rhs.
virtual std::string typeName () const =0
 Get the unique name of this index type.

Protected Member Functions

virtual ~IndexType ()
 Default destructor, nothing to do.
 IndexType ()
 Default constructor, should never be used.

Constructor & Destructor Documentation

IndexType ( const IndexType rhs)

Copy constructor, simplest level.

Parameters:
[in]rhsIndexType data to be copied

Member Function Documentation

IndexType * clone ( ) const [pure virtual]

Create a duplicate of this object.

This is virtual so that derived types create the correct type of object.

Returns:
Pointer to copy of this object

Implemented in CRTP_IndexType< Derived >, CRTP_IndexType< IndexPair >, and CRTP_IndexType< IndexString >.

std::string asString ( ) const [pure virtual]

Get this index type value as a string.

Returns:
The index type value in string form (as expected by the string constructor)

Implemented in IndexPair, and IndexString.

bool supportsDenseMode ( ) const [pure virtual]

Check if this object type supports dense packing indexing.

Returns:
true if the index type supports dense packing

Implemented in IndexPair, and IndexString.

IndexCount denseSpaceBetween ( const IndexType rhs) const [pure virtual]

Calculate the number of elements to be packed between this one and the rhs.

Parameters:
[in]rhsObject from which the packing size is calculated
Returns:
Number of index values between this one and the rhs

Implemented in IndexPair, and IndexString.

bool operator== ( const IndexType rhs) const [pure virtual]

Equality comparison of this object and the rhs.

GT-inequality comparison of this object and the rhs.

GE-inequality comparison of this object and the rhs.

Parameters:
[in]rhsObject being compared against
Returns:
true if the two objects are equal
Parameters:
[in]rhsObject being compared against
Returns:
true if this object is less than the rhs
Parameters:
[in]rhsObject being compared against
Returns:
true if this object is greater than or equal to the rhs

Implemented in IndexPair, and IndexString.

bool operator!= ( const IndexType rhs) const [pure virtual]

Unequality comparison of this object and the rhs.

Parameters:
[in]rhsObject being compared against
Returns:
true if the two objects are not equal

Implemented in IndexPair, and IndexString.

bool operator< ( const IndexType rhs) const [pure virtual]

LT-inequality comparison of this object and the rhs.

Parameters:
[in]rhsObject being compared against
Returns:
true if this object is less than or equal to the rhs

Implemented in IndexPair, and IndexString.

bool operator<= ( const IndexType rhs) const [pure virtual]

LE-inequality comparison of this object and the rhs.

Parameters:
[in]rhsObject being compared against
Returns:
true if this object is greater than the rhs

Implemented in IndexPair, and IndexString.

std::string typeName ( ) const [pure virtual]

Get the unique name of this index type.

Returns:
String containing the index type name

Implemented in CRTP_IndexType< Derived >, CRTP_IndexType< IndexPair >, and CRTP_IndexType< IndexString >.


IndexType IndexType IndexType IndexType IndexType IndexType IndexType IndexType IndexType IndexType
IndexType IndexType IndexType IndexType IndexType IndexType IndexType IndexType IndexType IndexType