ArmNN
 22.02
TensorHandle Class Reference

#include <TensorHandle.hpp>

Inheritance diagram for TensorHandle:
ConstTensorHandle ITensorHandle PassthroughTensorHandle ScopedTensorHandle

Public Member Functions

template<typename T >
T * GetTensor () const
 
template<>
void * GetTensor () const
 
template<>
void * GetTensor () const
 
- Public Member Functions inherited from ConstTensorHandle
template<typename T >
const T * GetConstTensor () const
 
const TensorInfoGetTensorInfo () const
 
virtual void Manage () override
 Indicate to the memory manager that this resource is active. More...
 
virtual ITensorHandleGetParent () const override
 Get the parent tensor if this is a subtensor. More...
 
virtual const void * Map (bool) const override
 Map the tensor data for access. More...
 
virtual void Unmap () const override
 Unmap the tensor data. More...
 
TensorShape GetStrides () const override
 Get the strides for each dimension ordered from largest to smallest where the smallest value is the same as the size of a single element in the tensor. More...
 
TensorShape GetShape () const override
 Get the number of elements for each dimension ordered from slowest iterating dimension to fastest iterating dimension. More...
 
template<>
const void * GetConstTensor () const
 
template<>
const void * GetConstTensor () const
 
- Public Member Functions inherited from ITensorHandle
virtual ~ITensorHandle ()
 
virtual void Allocate ()=0
 Indicate to the memory manager that this resource is no longer active. More...
 
void * Map (bool blocking=true)
 Map the tensor data for access. More...
 
void Unmap ()
 Unmap the tensor data that was previously mapped with call to Map(). More...
 
virtual unsigned int GetImportFlags () const
 Get flags describing supported import sources. More...
 
virtual bool Import (void *memory, MemorySource source)
 Import externally allocated memory. More...
 
virtual bool CanBeImported (void *memory, MemorySource source)
 Implementations must determine if this memory block can be imported. More...
 
virtual void Unimport ()
 Unimport externally allocated memory. More...
 

Protected Member Functions

 TensorHandle (const TensorInfo &tensorInfo)
 
void SetMemory (void *mem)
 
- Protected Member Functions inherited from ConstTensorHandle
 ConstTensorHandle (const TensorInfo &tensorInfo)
 
void SetConstMemory (const void *mem)
 

Detailed Description

Definition at line 79 of file TensorHandle.hpp.

Constructor & Destructor Documentation

◆ TensorHandle()

TensorHandle ( const TensorInfo tensorInfo)
protected

Definition at line 43 of file TensorHandle.cpp.

44 : ConstTensorHandle(tensorInfo)
45 , m_MutableMemory(nullptr)
46 {
47 }
ConstTensorHandle(const TensorInfo &tensorInfo)

Member Function Documentation

◆ GetTensor() [1/3]

void* GetTensor ( ) const

Definition at line 50 of file TensorHandle.cpp.

51 {
52  return m_MutableMemory;
53 }

◆ GetTensor() [2/3]

T* GetTensor ( ) const
inline

Definition at line 83 of file TensorHandle.hpp.

References ConstTensorHandle::GetTensorInfo().

Referenced by ScopedTensorHandle::Allocate(), and ConstPassthroughTensorHandle::ConstPassthroughTensorHandle().

84  {
85  if (armnnUtils::CompatibleTypes<T>(GetTensorInfo().GetDataType()))
86  {
87  return reinterpret_cast<T*>(m_MutableMemory);
88  }
89  else
90  {
91  throw armnn::Exception("Attempting to get not compatible type tensor!");
92  }
93  }
const TensorInfo & GetTensorInfo() const
Base class for all ArmNN exceptions so that users can filter to just those.
Definition: Exceptions.hpp:46

◆ GetTensor() [3/3]

void * GetTensor ( ) const

◆ SetMemory()

void SetMemory ( void *  mem)
inlineprotected

Definition at line 98 of file TensorHandle.hpp.

References ConstTensorHandle::SetConstMemory().

Referenced by ScopedTensorHandle::Allocate(), and ScopedTensorHandle::operator=().

99  {
100  m_MutableMemory = mem;
101  SetConstMemory(m_MutableMemory);
102  }
void SetConstMemory(const void *mem)

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