ArmNN
 21.08
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.

Examples:
CustomMemoryAllocatorSample.cpp, DynamicSample.cpp, and SimpleSample.cpp.

Definition at line 327 of file Tensor.hpp.

Constructor & Destructor Documentation

◆ ConstTensor() [1/3]

ConstTensor ( )
inline

Definition at line 332 of file Tensor.hpp.

332  : BaseTensor<const void*>()
333  {
334  this->GetInfo().SetConstant();
335  }
const TensorInfo & GetInfo() const
Definition: Tensor.hpp:295
void SetConstant(const bool IsConstant=true)
Marks the data corresponding to this tensor info as constant.
Definition: Tensor.cpp:516

◆ ConstTensor() [2/3]

ConstTensor ( const Tensor other)
inline

Can be implicitly constructed from non-const Tensor.

Definition at line 338 of file Tensor.hpp.

338  : BaseTensor<const void*>(other.GetInfo(), other.GetMemoryArea())
339  {
340  this->GetInfo().SetConstant();
341  }
const TensorInfo & GetInfo() const
Definition: Tensor.hpp:295
void SetConstant(const bool IsConstant=true)
Marks the data corresponding to this tensor info as constant.
Definition: Tensor.cpp:516

◆ 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 349 of file Tensor.hpp.

References TensorInfo::GetNumBytes().

350  : BaseTensor<const void*>(info, container.data())
351  {
352  this->GetInfo().SetConstant();
353  if (container.size() * sizeof(T) != info.GetNumBytes())
354  {
355  throw InvalidArgumentException("Container size is not correct");
356  }
357  }
const TensorInfo & GetInfo() const
Definition: Tensor.hpp:295
void SetConstant(const bool IsConstant=true)
Marks the data corresponding to this tensor info as constant.
Definition: Tensor.cpp:516

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