tvm
Public Member Functions | Friends | List of all members
tvm::relax::PatternSeq Class Referencefinal

Managed reference to pattern sequences. More...

#include <dataflow_pattern.h>

Inheritance diagram for tvm::relax::PatternSeq:
Collaboration diagram for tvm::relax::PatternSeq:

Public Member Functions

 PatternSeq (DFPattern init_pattern)
 
 PatternSeq (tvm::Array< DFPattern > patterns, bool only_used_by=false)
 
PatternSeq UsedBy (PatternSeq other, int index=-1) const
 
PatternSeq OnlyUsedBy (PatternSeq other, int index=-1) const
 
PatternSeq dup () const
 Syntatic Sugar for duplicating the current pattern sequence. More...
 
 TVM_DEFINE_OBJECT_REF_METHODS (PatternSeq, ObjectRef, PatternSeqNode)
 
- 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...
 

Friends

PatternSeq UsedBy (const PatternSeq &lhs, const PatternSeq &rhs, int index)
 Create used-by relationship between lhs[-1] and rhs[0], with [*lhs, *rhs] returned. More...
 
PatternSeq OnlyUsedBy (const PatternSeq &lhs, const PatternSeq &rhs, int index)
 Create only-used-by relationship between lhs[-1] and rhs[0], with [*lhs, *rhs] returned. 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...
 

Detailed Description

Managed reference to pattern sequences.

See also
PatternSeqNode

Constructor & Destructor Documentation

◆ PatternSeq() [1/2]

tvm::relax::PatternSeq::PatternSeq ( DFPattern  init_pattern)
explicit

◆ PatternSeq() [2/2]

tvm::relax::PatternSeq::PatternSeq ( tvm::Array< DFPattern patterns,
bool  only_used_by = false 
)
explicit

Member Function Documentation

◆ dup()

PatternSeq tvm::relax::PatternSeq::dup ( ) const

Syntatic Sugar for duplicating the current pattern sequence.

◆ OnlyUsedBy()

PatternSeq tvm::relax::PatternSeq::OnlyUsedBy ( PatternSeq  other,
int  index = -1 
) const

◆ TVM_DEFINE_OBJECT_REF_METHODS()

tvm::relax::PatternSeq::TVM_DEFINE_OBJECT_REF_METHODS ( PatternSeq  ,
ObjectRef  ,
PatternSeqNode   
)

◆ UsedBy()

PatternSeq tvm::relax::PatternSeq::UsedBy ( PatternSeq  other,
int  index = -1 
) const

Friends And Related Function Documentation

◆ OnlyUsedBy

PatternSeq OnlyUsedBy ( const PatternSeq lhs,
const PatternSeq rhs,
int  index 
)
friend

Create only-used-by relationship between lhs[-1] and rhs[0], with [*lhs, *rhs] returned.

Parameters
lhsLeft hand side of the used-by relationship.
rhsRight hand side of the used-by relationship.
indexlhs[-1] is used as the index'th argument of rhs[0].
Returns
PatternSeq The concatenated sequence of [*lhs, *rhs].

◆ UsedBy

PatternSeq UsedBy ( const PatternSeq lhs,
const PatternSeq rhs,
int  index 
)
friend

Create used-by relationship between lhs[-1] and rhs[0], with [*lhs, *rhs] returned.

Parameters
lhsLeft hand side of the used-by relationship.
rhsRight hand side of the used-by relationship.
indexlhs[-1] is used as the index'th argument of rhs[0].
Returns
PatternSeq The concatenated sequence of [*lhs, *rhs].

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