HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
onnxruntime::OpaqueType< T, D, N > Class Template Reference

OpaqueType. More...

#include <data_types.h>

+ Inheritance diagram for onnxruntime::OpaqueType< T, D, N >:

Public Member Functions

bool IsCompatible (const ONNX_NAMESPACE::TypeProto &type_proto) const override
 this API will be used to check type compatibility at runtime More...
 
void FromDataContainer (const void *data, size_t data_size, OrtValue &output) const override
 
void ToDataContainer (const OrtValue &input, size_t data_size, void *data) const override
 
- Public Member Functions inherited from onnxruntime::NonTensorType< T >
DeleteFunc GetDeleteFunc () const override
 
CreateFunc GetCreateFunc () const override
 
- Public Member Functions inherited from onnxruntime::NonTensorTypeBase
const ONNX_NAMESPACE::TypeProto * GetTypeProto () const override
 Retrieves an instance of TypeProto for a given MLDataType. More...
 
 NonTensorTypeBase (const NonTensorTypeBase &)=delete
 
NonTensorTypeBaseoperator= (const NonTensorTypeBase &)=delete
 
- Public Member Functions inherited from onnxruntime::DataTypeImpl
virtual ~DataTypeImpl ()=default
 
size_t Size () const
 
bool IsTensorType () const
 
bool IsTensorSequenceType () const
 
bool IsSparseTensorType () const
 
bool IsOptionalType () const
 
bool IsNonTensorType () const
 
bool IsPrimitiveDataType () const
 
const TensorTypeBaseAsTensorType () const
 
const SequenceTensorTypeBaseAsSequenceTensorType () const
 
const SparseTensorTypeBaseAsSparseTensorType () const
 
const OptionalTypeBaseAsOptionalType () const
 
const NonTensorTypeBaseAsNonTensorType () const
 
const PrimitiveDataTypeBaseAsPrimitiveDataType () const
 

Static Public Member Functions

static MLDataType Type ()
 
- Static Public Member Functions inherited from onnxruntime::DataTypeImpl
template<typename T >
static MLDataType GetType ()
 
template<typename elemT >
static MLDataType GetTensorType ()
 
template<typename elemT >
static MLDataType GetSequenceTensorType ()
 
template<typename elemT >
static MLDataType GetSparseTensorType ()
 
template<typename T , typename elemT >
static MLDataType GetOptionalType ()
 
static MLDataType TypeFromProto (const ONNX_NAMESPACE::TypeProto &proto)
 
static const TensorTypeBaseTensorTypeFromONNXEnum (int type)
 
static const
SequenceTensorTypeBase
SequenceTensorTypeFromONNXEnum (int type)
 
static const SparseTensorTypeBaseSparseTensorTypeFromONNXEnum (int type)
 
static const char * ToString (MLDataType type)
 
static std::vector< std::stringToString (const std::vector< MLDataType > &types)
 
static void RegisterDataType (MLDataType)
 
static MLDataType GetDataType (const std::string &)
 
static const std::vector
< MLDataType > & 
AllTensorTypes ()
 
static const std::vector
< MLDataType > & 
AllFixedSizeTensorTypes ()
 
static const std::vector
< MLDataType > & 
AllSequenceTensorTypes ()
 
static const std::vector
< MLDataType > & 
AllFixedSizeSequenceTensorTypes ()
 
static const std::vector
< MLDataType > & 
AllNumericTensorTypes ()
 
static const std::vector
< MLDataType > & 
AllIEEEFloatTensorTypes ()
 
static const std::vector
< MLDataType > & 
AllFixedSizeTensorExceptHalfTypes ()
 
static const std::vector
< MLDataType > & 
AllIEEEFloatTensorExceptHalfTypes ()
 
static const std::vector
< MLDataType > & 
AllTensorAndSequenceTensorTypes ()
 
static const std::vector
< MLDataType > & 
AllFixedSizeTensorAndSequenceTensorTypes ()
 
static const std::vector
< MLDataType > & 
AllOptionalTypes ()
 
static const std::vector
< MLDataType > & 
AllTensorAndSequenceTensorAndOptionalTypes ()
 

Additional Inherited Members

- Public Types inherited from onnxruntime::DataTypeImpl
enum  GeneralType {
  GeneralType::kInvalid = 0, GeneralType::kNonTensor = 1, GeneralType::kTensor = 2, GeneralType::kTensorSequence = 3,
  GeneralType::kSparseTensor = 4, GeneralType::kOptional = 5, GeneralType::kPrimitive = 6
}
 
- Public Attributes inherited from onnxruntime::DataTypeImpl
const GeneralType type_
 
const size_t size_
 
- Protected Member Functions inherited from onnxruntime::NonTensorType< T >
 NonTensorType ()
 
- Protected Member Functions inherited from onnxruntime::NonTensorTypeBase
 NonTensorTypeBase (size_t size)
 
 ~NonTensorTypeBase () override
 
ONNX_NAMESPACE::TypeProto & MutableTypeProto ()
 
bool IsMapCompatible (const ONNX_NAMESPACE::TypeProto &type_proto) const
 
bool IsSequenceCompatible (const ONNX_NAMESPACE::TypeProto &type_proto) const
 
bool IsOpaqueCompatible (const ONNX_NAMESPACE::TypeProto &type_proto) const
 
- Protected Member Functions inherited from onnxruntime::DataTypeImpl
 DataTypeImpl (GeneralType type, size_t size)
 

Detailed Description

template<typename T, const char D, const char N>
class onnxruntime::OpaqueType< T, D, N >

OpaqueType.

Template Parameters
T- cpp runtume that implements the Opaque type
constchar D[] - domain must be extern to be unique
constchar N[] - name must be extern to be unique

Only one CPP type can be associated with a particular OpaqueType registration

Definition at line 857 of file data_types.h.

Member Function Documentation

template<typename T , const char D, const char N>
void onnxruntime::OpaqueType< T, D, N >::FromDataContainer ( const void data,
size_t  data_size,
OrtValue output 
) const
inlineoverridevirtual

Reimplemented from onnxruntime::NonTensorTypeBase.

Definition at line 865 of file data_types.h.

template<typename T , const char D, const char N>
bool onnxruntime::OpaqueType< T, D, N >::IsCompatible ( const ONNX_NAMESPACE::TypeProto &  type_proto) const
inlineoverridevirtual

this API will be used to check type compatibility at runtime

Parameters
type_protoa TypeProto instance that is constructed for a specific type will be checked against a TypeProto instance contained within a corresponding MLDataType instance.

Implements onnxruntime::DataTypeImpl.

Definition at line 861 of file data_types.h.

template<typename T , const char D, const char N>
void onnxruntime::OpaqueType< T, D, N >::ToDataContainer ( const OrtValue input,
size_t  data_size,
void data 
) const
inlineoverridevirtual

Reimplemented from onnxruntime::NonTensorTypeBase.

Definition at line 869 of file data_types.h.

template<typename T , const char D, const char N>
static MLDataType onnxruntime::OpaqueType< T, D, N >::Type ( )
static

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