tvm
|
A utility class that adds methods useful for each POD type. More...
#include <packed_func.h>
Public Member Functions | |
template<typename TObjectRef , typename = typename std::enable_if<std::is_base_of<ObjectRef, TObjectRef>::value>::type> | |
bool | IsObjectRef () const |
template<typename TObjectRef > | |
TObjectRef | AsObjectRef () const |
operator double () const | |
operator int64_t () const | |
operator uint64_t () const | |
operator int () const | |
operator bool () const | |
TVMPODValue_ () | |
TVMPODValue_ (TVMValue value, int type_code) | |
Public Member Functions inherited from tvm::runtime::TVMPODValue_ | |
operator void * () const | |
operator DLTensor * () const | |
operator NDArray () const | |
operator Module () const | |
operator PackedFunc () const | |
operator Device () const | |
int | type_code () const |
template<typename T > | |
T * | ptr () const |
return handle as specific pointer type. More... | |
std::optional< bool > | TryAsBool () const |
std::optional< int64_t > | TryAsInt () const |
std::optional< double > | TryAsFloat () const |
Additional Inherited Members | |
Protected Member Functions inherited from tvm::runtime::TVMPODValue_ | |
TVMPODValue_ () | |
TVMPODValue_ (TVMValue value, int type_code) | |
Protected Attributes inherited from tvm::runtime::TVMPODValue_ | |
TVMValue | value_ |
The value. More... | |
int | type_code_ |
the type code More... | |
A utility class that adds methods useful for each POD type.
These cannot be provided in the base PODValue_ class, because TVMArgValue and TVMRetValue have different semantics for kTVMStr and kTVMBytes.
kTVMStr:
For `TVMArgValue`, the active variant is `v_str`, a `const char*`. For `TVMRetValue`, the active variant is `v_handle`, and should be cast from `void*` to `std::string*`.
kTVMBytes:
The active variant is `v_handle`, a `void*`. For `TVMArgValue`, should be cast to `TVMByteArray*`. For `TVMRetValue`, should be cast to `std::string*`.
When converting into an ObjectRef
, a string may be used to build a tvm::runtime::String
. Because TVMArgValue and TVMRetValue use different representations for strings, any utility funciton which might attempt a conversion to an ObjectRef
must be performed within a context that is aware of the derived class.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |