tvm
Public Types | Public Member Functions | Static Public Attributes | List of all members
tvm::runtime::Variant< V > Class Template Reference

#include <variant.h>

Inheritance diagram for tvm::runtime::Variant< V >:
Collaboration diagram for tvm::runtime::Variant< V >:

Public Types

template<typename T >
using enable_if_variant = std::enable_if_t< is_variant< T > >
 
using ContainerType = Object
 
- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 

Public Member Functions

template<typename T , typename = enable_if_variant<T>>
 Variant (T value)
 
template<typename T , typename = enable_if_variant<T>>
Variantoperator= (T value)
 
 Variant ()
 
 Variant (ObjectPtr< Object > node)
 
 TVM_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN (Variant)
 
- Public Member Functions inherited from tvm::runtime::ObjectRef
 ObjectRef ()=default
 default constructor More...
 
 ObjectRef (ObjectPtr< Object > data)
 Constructor from existing object ptr. More...
 
bool same_as (const ObjectRef &other) const
 Comparator. More...
 
bool operator== (const ObjectRef &other) const
 Comparator. More...
 
bool operator!= (const ObjectRef &other) const
 Comparator. More...
 
bool operator< (const ObjectRef &other) const
 Comparator. More...
 
bool defined () const
 
const Objectget () const
 
const Objectoperator-> () const
 
bool unique () const
 
int use_count () const
 
template<typename ObjectType , typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>>
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 
template<typename ObjectRefType , typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>>
Optional< ObjectRefType > as () const
 Try to downcast the ObjectRef to a Optional<T> of the requested type. More...
 

Static Public Attributes

template<typename T >
static constexpr bool is_variant = (std::is_same_v<T, V> || ...)
 
- Static Public Attributes inherited from tvm::runtime::ObjectRef
static constexpr bool _type_is_nullable = true
 

Additional Inherited Members

- Protected Member Functions inherited from tvm::runtime::ObjectRef
Objectget_mutable () const
 
- Static Protected Member Functions inherited from tvm::runtime::ObjectRef
template<typename T >
static T DowncastNoCheck (ObjectRef ref)
 Internal helper function downcast a ref without check. More...
 
static void FFIClearAfterMove (ObjectRef *ref)
 Clear the object ref data field without DecRef after we successfully moved the field. More...
 
template<typename ObjectType >
static ObjectPtr< ObjectType > GetDataPtr (const ObjectRef &ref)
 Internal helper function get data_ as ObjectPtr of ObjectType. More...
 
- Protected Attributes inherited from tvm::runtime::ObjectRef
ObjectPtr< Objectdata_
 Internal pointer that backs the reference. More...
 

Member Typedef Documentation

◆ ContainerType

template<typename... V>
using tvm::runtime::Variant< V >::ContainerType = Object

◆ enable_if_variant

template<typename... V>
template<typename T >
using tvm::runtime::Variant< V >::enable_if_variant = std::enable_if_t<is_variant<T> >

Constructor & Destructor Documentation

◆ Variant() [1/3]

template<typename... V>
template<typename T , typename = enable_if_variant<T>>
tvm::runtime::Variant< V >::Variant ( value)
inline

◆ Variant() [2/3]

template<typename... V>
tvm::runtime::Variant< V >::Variant ( )
inline

◆ Variant() [3/3]

template<typename... V>
tvm::runtime::Variant< V >::Variant ( ObjectPtr< Object node)
inlineexplicit

Member Function Documentation

◆ operator=()

template<typename... V>
template<typename T , typename = enable_if_variant<T>>
Variant& tvm::runtime::Variant< V >::operator= ( value)
inline

◆ TVM_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN()

template<typename... V>
tvm::runtime::Variant< V >::TVM_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN ( Variant< V >  )

Member Data Documentation

◆ is_variant

template<typename... V>
template<typename T >
constexpr bool tvm::runtime::Variant< V >::is_variant = (std::is_same_v<T, V> || ...)
staticconstexpr

The documentation for this class was generated from the following file: