tvm
Public Types | Public Member Functions | List of all members
tvm::TypedEnvFunc< R(Args...)> Class Template Reference

A typed version of EnvFunc. It is backed by a GlobalFuncNode internally. More...

#include <env_func.h>

Inheritance diagram for tvm::TypedEnvFunc< R(Args...)>:
Collaboration diagram for tvm::TypedEnvFunc< R(Args...)>:

Public Types

using TSelf = TypedEnvFunc< R(Args...)>
 short hand for this function type More...
 
using ContainerType = EnvFuncNode
 specify container node More...
 
- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 

Public Member Functions

 TypedEnvFunc ()
 
 TypedEnvFunc (ObjectPtr< Object > n)
 
TSelfoperator= (const EnvFunc &other)
 Assign global function to a TypedEnvFunc. More...
 
const EnvFuncNodeoperator-> () const
 
operator() (Args... args) const
 Invoke the function. More...
 
- 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

- 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

template<typename R, typename... Args>
class tvm::TypedEnvFunc< R(Args...)>

A typed version of EnvFunc. It is backed by a GlobalFuncNode internally.

Template Parameters
RThe return value of the function.
ArgsThe argument signature of the function.
See also
EnvFunc

Member Typedef Documentation

◆ ContainerType

template<typename R , typename... Args>
using tvm::TypedEnvFunc< R(Args...)>::ContainerType = EnvFuncNode

specify container node

◆ TSelf

template<typename R , typename... Args>
using tvm::TypedEnvFunc< R(Args...)>::TSelf = TypedEnvFunc<R(Args...)>

short hand for this function type

Constructor & Destructor Documentation

◆ TypedEnvFunc() [1/2]

template<typename R , typename... Args>
tvm::TypedEnvFunc< R(Args...)>::TypedEnvFunc ( )
inline

◆ TypedEnvFunc() [2/2]

template<typename R , typename... Args>
tvm::TypedEnvFunc< R(Args...)>::TypedEnvFunc ( ObjectPtr< Object n)
inlineexplicit

Member Function Documentation

◆ operator()()

template<typename R , typename... Args>
R tvm::TypedEnvFunc< R(Args...)>::operator() ( Args...  args) const
inline

Invoke the function.

Parameters
argsThe arguments
Returns
The return value.

◆ operator->()

template<typename R , typename... Args>
const EnvFuncNode* tvm::TypedEnvFunc< R(Args...)>::operator-> ( ) const
inline
Returns
The internal global function pointer

◆ operator=()

template<typename R , typename... Args>
TSelf& tvm::TypedEnvFunc< R(Args...)>::operator= ( const EnvFunc other)
inline

Assign global function to a TypedEnvFunc.

Parameters
otherAnother global function.
Returns
reference to self.

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