IndexType Class Reference

IndexType Class Referenceabstract

#include <adskDataIndexType.h>

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

+ Inheritance diagram for IndexType:

Classes

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

Public Member Functions

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

Protected Member Functions

virtual ~IndexType ()
 Default destructor, nothing to do.
 
 IndexType ()
 Default constructor, should never be used.
 
- Protected Member Functions inherited from RefCounted
 RefCounted ()
 RefCounted default ctor.
 
 RefCounted (const RefCounted &)
 RefCounted copy ctor.
 
virtual ~RefCounted ()
 RefCounted dtor.
 

Additional Inherited Members

- Static Public Member Functions inherited from RefCounted
static bool Debug (const RefCounted *me, Debug::Print &request)
 Answer a Print request for a RefCounted object. More...
 
static bool Debug (const RefCounted *me, Debug::Footprint &request)
 Answer a footprint request for a RefCounted object. More...
 

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


The documentation for this class was generated from the following files:
  • adskDataIndexType.h
  • adskDataIndexType.cpp