A contiguous, one-dimensional array of integers used to represent data structures, rather than numerical data in the arrays themselves. More...
#include <Index.h>
Public Types | |
enum class | Form { i8 , u8 , i32 , u32 , i64 , kNumIndexForm } |
Integer type of an Index, used by ListForm, IndexedForm, etc. More... | |
Public Member Functions | |
virtual | ~Index () |
Virtual destructor acts as a first non-inline virtual function that determines a specific translation unit in which vtable shall be emitted. More... | |
virtual const std::shared_ptr< Index > | shallow_copy () const =0 |
Copies this Index node without copying its buffer. More... | |
virtual IndexOf< int64_t > | to64 () const =0 |
Converts this Index to an Index64 . More... | |
virtual bool | iscontiguous () const =0 |
Returns true if this index is contiguous false otherwise. More... | |
Static Public Member Functions | |
static Form | str2form (const std::string &str) |
Converts a string into a Form enumeration. More... | |
static const std::string | form2str (Form form) |
Converts a Form enumeration into a string. More... | |
A contiguous, one-dimensional array of integers used to represent data structures, rather than numerical data in the arrays themselves.
The Index superclass abstracts over templated specializations:
|
strong |
Integer type of an Index, used by ListForm, IndexedForm, etc.
Enumerator | |
---|---|
i8 | |
u8 | |
i32 | |
u32 | |
i64 | |
kNumIndexForm |
|
virtual |
Virtual destructor acts as a first non-inline virtual function that determines a specific translation unit in which vtable shall be emitted.
|
pure virtual |
Returns true if this index is contiguous false otherwise.
Implemented in IndexOf< T >, and IndexOf< I >.
|
pure virtual |
Copies this Index node without copying its buffer.
See also #deep_copy.
Implemented in IndexOf< T >, and IndexOf< I >.
|
pure virtual |
Converts this Index to an Index64
.
Implemented in IndexOf< T >, and IndexOf< I >.