- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Classes | Public Member Functions | Protected Member Functions

# IndexType Class Reference

Search for all occurrences

## 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:
[legend]

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 IndexType * | clone () 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] | rhs | IndexType data to be copied

## Member Function Documentation

IndexType * clone | ( |  | ) | const`[pure virtual]`

Search for all occurrences

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]`

Search for all occurrences

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]`

Search for all occurrences

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]`

Search for all occurrences

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

Parameters:

  [in] | rhs | Object 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] | rhs | Object being compared against

Returns:
  true if the two objects are equal

Parameters:

  [in] | rhs | Object being compared against

Returns:
  true if this object is less than the rhs

Parameters:

  [in] | rhs | Object 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] | rhs | Object 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] | rhs | Object 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] | rhs | Object being compared against

Returns:
  true if this object is greater than the rhs

Implemented in IndexPair, and IndexString.

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

Search for all occurrences

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