tvm
Public Member Functions | List of all members
tvm::relax::Tuple Class Reference

#include <expr.h>

Inheritance diagram for tvm::relax::Tuple:
Collaboration diagram for tvm::relax::Tuple:

Public Member Functions

 Tuple (tvm::Array< Expr > fields, Span span=Span())
 The constructor. More...
 
template<typename RelaxExpr , typename = std::enable_if_t<std::is_base_of_v<Expr, RelaxExpr>>>
 Tuple (tvm::Array< RelaxExpr > fields, Span span=Span())
 Utility constructor to handle conversion to relax::Expr. More...
 
 TVM_DEFINE_OBJECT_REF_METHODS (Tuple, Expr, TupleNode)
 
 TVM_DEFINE_OBJECT_REF_COW_METHOD (TupleNode)
 
- Public Member Functions inherited from tvm::RelayExpr
 TVM_DEFINE_OBJECT_REF_METHODS (RelayExpr, BaseExpr, RelayExprNode)
 
- Public Member Functions inherited from tvm::BaseExpr
 TVM_DEFINE_OBJECT_REF_METHODS (BaseExpr, ObjectRef, BaseExprNode)
 
- 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...
 

Additional Inherited Members

- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 
- Static Public Attributes inherited from tvm::runtime::ObjectRef
static constexpr bool _type_is_nullable = true
 
- 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...
 

Constructor & Destructor Documentation

◆ Tuple() [1/2]

tvm::relax::Tuple::Tuple ( tvm::Array< Expr fields,
Span  span = Span() 
)
explicit

The constructor.

Parameters
fieldsThe fields of a tuple.
spanThe source span of the expression.

◆ Tuple() [2/2]

template<typename RelaxExpr , typename = std::enable_if_t<std::is_base_of_v<Expr, RelaxExpr>>>
tvm::relax::Tuple::Tuple ( tvm::Array< RelaxExpr >  fields,
Span  span = Span() 
)
inlineexplicit

Utility constructor to handle conversion to relax::Expr.

If the calling scope already has an array of a specific type of relax expression (e.g. Array<relax::Var>), it must be converted into an array of base type. This constructor handles the conversion to the base Array<relax::Expr>.

Template Parameters
RelaxExprThe type of relax expression passed in as an argument.
Parameters
fieldsThe fields of a tuple.
spanThe source span of the expression.

Member Function Documentation

◆ TVM_DEFINE_OBJECT_REF_COW_METHOD()

tvm::relax::Tuple::TVM_DEFINE_OBJECT_REF_COW_METHOD ( TupleNode  )

◆ TVM_DEFINE_OBJECT_REF_METHODS()

tvm::relax::Tuple::TVM_DEFINE_OBJECT_REF_METHODS ( Tuple  ,
Expr  ,
TupleNode   
)

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