Class EnumObj#

Inheritance Relationships#

Base Type#

Derived Types#

Class Documentation#

class EnumObj : public tvm::ffi::Object#

Base class for FFI-registered enum singletons.

Subclassed by tvm::ffi::IntEnumObj, tvm::ffi::StrEnumObj

Public Functions

EnumObj() = default#
inline EnumObj(int64_t int_index, String str_index)#

Construct an enum singleton with canonical integer and string indices.

Parameters:
  • int_index – The canonical integer index.

  • str_index – The canonical string index.

Public Members

int64_t _int_index = 0#

Canonical integer index.

String _str_index#

Canonical string index.

Public Static Functions

template<typename EnumClsObj>
static inline Enum _GetByIntIndex(int64_t index)#

Look up a registered enum singleton by its canonical integer index.

Template Parameters:

EnumClsObj – An Object subclass deriving from EnumObj.

Parameters:

index – The canonical integer index.

Returns:

The registered Enum singleton.

template<typename EnumClsObj>
static inline Enum _GetByStrIndex(const String &index)#

Look up a registered enum singleton by its canonical string index.

Template Parameters:

EnumClsObj – An Object subclass deriving from EnumObj.

Parameters:

index – The canonical string index.

Returns:

The registered Enum singleton.

static inline Enum _GetByIntIndex(int32_t type_index, int64_t index)#

Look up a registered enum singleton by runtime type and canonical integer index.

Parameters:
  • type_index – The runtime type index of the registered enum class.

  • index – The canonical integer index.

Returns:

The registered Enum singleton.

static inline Enum _GetByStrIndex(int32_t type_index, const String &index)#

Look up a registered enum singleton by runtime type and canonical string index.

Parameters:
  • type_index – The runtime type index of the registered enum class.

  • index – The canonical string index.

Returns:

The registered Enum singleton.