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

Managed reference to DictAttrsNode. More...

#include <attrs.h>

Inheritance diagram for tvm::DictAttrs:
Collaboration diagram for tvm::DictAttrs:

Public Member Functions

 DictAttrs (Map< String, ObjectRef > dict={})
 Consruct a Attrs backed by DictAttrsNode. More...
 
template<typename TObjectRef >
Optional< TObjectRef > GetAttr (const std::string &attr_key, Optional< TObjectRef > default_value=Optional< TObjectRef >(nullptr)) const
 Get a function attribute. More...
 
template<typename TObjectRef >
Optional< TObjectRef > GetAttr (const std::string &attr_key, TObjectRef default_value) const
 
bool HasNonzeroAttr (const std::string &attr_key) const
 Check whether the function has an non-zero integer attr. More...
 
 TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR (DictAttrs, Attrs, DictAttrsNode)
 
 TVM_DEFINE_OBJECT_REF_COW_METHOD (DictAttrsNode)
 
- Public Member Functions inherited from tvm::Attrs
 TVM_DEFINE_OBJECT_REF_METHODS (Attrs, ObjectRef, BaseAttrsNode)
 
- 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...
 

Detailed Description

Managed reference to DictAttrsNode.

See also
DictAttrsNode.

Constructor & Destructor Documentation

◆ DictAttrs()

tvm::DictAttrs::DictAttrs ( Map< String, ObjectRef dict = {})
explicit

Consruct a Attrs backed by DictAttrsNode.

Parameters
dictThe attributes.

Member Function Documentation

◆ GetAttr() [1/2]

template<typename TObjectRef >
Optional<TObjectRef> tvm::DictAttrs::GetAttr ( const std::string &  attr_key,
Optional< TObjectRef >  default_value = Optional<TObjectRef>(nullptr) 
) const
inline

Get a function attribute.

Parameters
attr_keyThe attribute key.
default_valueThe default value if the key does not exist, defaults to nullptr.
Returns
The result
Template Parameters
TOBjectRefthe expected object type.
Exceptions
Errorif the key exists but the value does not match TObjectRef
void GetAttrExample(const BaseFunc& f) {
auto value = f->attrs.GetAttr<Integer>("AttrKey", 0);
}
tvm::BaseFunc BaseFunc
Definition: expr.h:56

◆ GetAttr() [2/2]

template<typename TObjectRef >
Optional<TObjectRef> tvm::DictAttrs::GetAttr ( const std::string &  attr_key,
TObjectRef  default_value 
) const
inline

◆ HasNonzeroAttr()

bool tvm::DictAttrs::HasNonzeroAttr ( const std::string &  attr_key) const
inline

Check whether the function has an non-zero integer attr.

This function can be used to check whether an optional attribute mark(e.g. inline) exists.

Parameters
attr_keyThe key to the attribute.
Returns
The check result.
void HasNonzeroAttrExample(const BaseFunc& f) {
if (f->HasNonzeroAttr(attr::kInline)) {
// inline the function.
}
}
constexpr const char * kInline
Mark the function to be inlined.
Definition: function.h:193

◆ TVM_DEFINE_OBJECT_REF_COW_METHOD()

tvm::DictAttrs::TVM_DEFINE_OBJECT_REF_COW_METHOD ( DictAttrsNode  )

◆ TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR()

tvm::DictAttrs::TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR ( DictAttrs  ,
Attrs  ,
DictAttrsNode   
)

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