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, Any > 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 >(std::nullopt)) 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)
 

Detailed Description

Managed reference to DictAttrsNode.

See also
DictAttrsNode.

Constructor & Destructor Documentation

◆ DictAttrs()

tvm::DictAttrs::DictAttrs ( Map< String, Any >  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>(std::nullopt) 
) 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);
}

◆ 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.
}
}

◆ 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: