ArmNN
 20.05
ConstTensor Class Reference

A tensor defined by a TensorInfo (shape and data type) and an immutable backing store. More...

#include <Tensor.hpp>

Inheritance diagram for ConstTensor:
BaseTensor< const void *>

Public Member Functions

 ConstTensor ()
 
 ConstTensor (const Tensor &other)
 Can be implicitly constructed from non-const Tensor. More...
 
template<template< typename, typename... > class ContainerType, typename T , typename... ContainerArgs>
 ConstTensor (const TensorInfo &info, const ContainerType< T, ContainerArgs... > &container)
 Constructor from a backing container. More...
 
- Public Member Functions inherited from BaseTensor< const void *>
 BaseTensor ()
 Empty (invalid) constructor. More...
 
 BaseTensor (const TensorInfo &info, const void * memoryArea)
 Constructor from a raw memory pointer. More...
 
 BaseTensor (const BaseTensor &other)
 Tensors are copyable. More...
 
BaseTensoroperator= (const BaseTensor &)
 Tensors are copyable. More...
 
const TensorInfoGetInfo () const
 
TensorInfoGetInfo ()
 
const TensorShapeGetShape () const
 
TensorShapeGetShape ()
 
DataType GetDataType () const
 
unsigned int GetNumDimensions () const
 
unsigned int GetNumBytes () const
 
unsigned int GetNumElements () const
 
const void * GetMemoryArea () const
 

Additional Inherited Members

- Protected Member Functions inherited from BaseTensor< const void *>
 ~BaseTensor ()
 Protected destructor to stop users from making these (could still new one on the heap and then leak it...) More...
 
- Protected Attributes inherited from BaseTensor< const void *>
const void * m_MemoryArea
 

Detailed Description

A tensor defined by a TensorInfo (shape and data type) and an immutable backing store.

Definition at line 199 of file Tensor.hpp.

Constructor & Destructor Documentation

◆ ConstTensor() [1/3]

ConstTensor ( )
inline

Definition at line 204 of file Tensor.hpp.

204 : BaseTensor<const void*>() {} // This needs to be redefined explicitly??

◆ ConstTensor() [2/3]

ConstTensor ( const Tensor other)
inline

Can be implicitly constructed from non-const Tensor.

Definition at line 207 of file Tensor.hpp.

207 : BaseTensor<const void*>(other.GetInfo(), other.GetMemoryArea()) {}

◆ ConstTensor() [3/3]

ConstTensor ( const TensorInfo info,
const ContainerType< T, ContainerArgs... > &  container 
)
inline

Constructor from a backing container.

Parameters
container- An stl-like container type which implements data() and size() methods. Presence of data() and size() is a strong indicator of the continuous memory layout of the container, which is a requirement for Tensor data. Tensor instances do not claim ownership of referenced memory regions, that is, no attempt will be made by ArmNN to free these memory regions automatically.

Definition at line 215 of file Tensor.hpp.

References TensorInfo::GetNumBytes().

216  : BaseTensor<const void*>(info, container.data())
217  {
218  if (container.size() * sizeof(T) != info.GetNumBytes())
219  {
220  throw InvalidArgumentException("Container size is not correct");
221  }
222  }

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