mxnet
Public Member Functions | Static Public Member Functions | List of all members
mxnet::runtime::ADT Class Reference

reference to algebraic data type objects. More...

#include <container.h>

Inheritance diagram for mxnet::runtime::ADT:
Inheritance graph
Collaboration diagram for mxnet::runtime::ADT:
Collaboration graph

Public Member Functions

 ADT (uint32_t tag, std::vector< ObjectRef > fields)
 construct an ADT object reference. More...
 
template<typename Iterator >
 ADT (uint32_t tag, Iterator begin, Iterator end)
 construct an ADT object reference. More...
 
 ADT (uint32_t tag, std::initializer_list< ObjectRef > init)
 construct an ADT object reference. More...
 
const ObjectRefoperator[] (size_t idx) const
 Access element at index. More...
 
size_t tag () const
 Return the ADT tag. More...
 
size_t size () const
 Return the number of fields. More...
 
 MXNET_DEFINE_OBJECT_REF_METHODS (ADT, ObjectRef, ADTObj)
 
- Public Member Functions inherited from mxnet::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
 
template<typename ObjectType >
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 

Static Public Member Functions

template<typename... Args>
static ADT Tuple (Args &&...args)
 Construct a tuple object. More...
 

Additional Inherited Members

- Public Types inherited from mxnet::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 
- Protected Member Functions inherited from mxnet::runtime::ObjectRef
Objectget_mutable () const
 
- Static Protected Member Functions inherited from mxnet::runtime::ObjectRef
template<typename T >
static T DowncastNoCheck (ObjectRef ref)
 Internal helper function downcast a ref without check. 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 mxnet::runtime::ObjectRef
ObjectPtr< Objectdata_
 Internal pointer that backs the reference. More...
 

Detailed Description

reference to algebraic data type objects.

Constructor & Destructor Documentation

mxnet::runtime::ADT::ADT ( uint32_t  tag,
std::vector< ObjectRef fields 
)
inline

construct an ADT object reference.

Parameters
tagThe tag of the ADT object.
fieldsThe fields of the ADT object.
Returns
The constructed ADT object reference.
template<typename Iterator >
mxnet::runtime::ADT::ADT ( uint32_t  tag,
Iterator  begin,
Iterator  end 
)
inline

construct an ADT object reference.

Parameters
tagThe tag of the ADT object.
beginThe begin iterator to the start of the fields array.
endThe end iterator to the end of the fields array.
Returns
The constructed ADT object reference.
mxnet::runtime::ADT::ADT ( uint32_t  tag,
std::initializer_list< ObjectRef init 
)
inline

construct an ADT object reference.

Parameters
tagThe tag of the ADT object.
initThe initializer list of fields.
Returns
The constructed ADT object reference.

Member Function Documentation

mxnet::runtime::ADT::MXNET_DEFINE_OBJECT_REF_METHODS ( ADT  ,
ObjectRef  ,
ADTObj   
)
const ObjectRef& mxnet::runtime::ADT::operator[] ( size_t  idx) const
inline

Access element at index.

Parameters
idxThe array index
Returns
const ObjectRef
size_t mxnet::runtime::ADT::size ( ) const
inline

Return the number of fields.

size_t mxnet::runtime::ADT::tag ( ) const
inline

Return the ADT tag.

template<typename... Args>
static ADT mxnet::runtime::ADT::Tuple ( Args &&...  args)
inlinestatic

Construct a tuple object.

Template Parameters
ArgsType params of tuple feilds.
Parameters
argsTuple fields.
Returns
ADT The tuple object reference.

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