NeuralEngine A Game Engine with embeded Machine Learning algorithms based on Gaussian Processes. |

Public Member Functions | Private Member Functions | Private Attributes | List of all members
NeuralEngine::Array3< T > Class Template Reference

The Array3 class represents a 3-dimensional array that minimizes the number of new and delete calls. The T objects are stored in a contiguous array.
More...

`#include <NeArray3.h>`

Collaboration diagram for NeuralEngine::Array3< T >:
[legend]

## Public Member Functions
| Array3 (size_t bound0, size_t bound1, size_t bound2)
| Constructor. More...
| Array3 (size_t bound0, size_t bound1, size_t bound2, T *objects)
| Constructor. More...
| Array3 ()
| Default constructor. More...
| Array3 (Array3 const &)
Array3 & | operator= (Array3 const &)
| Array3 (Array3 &&)
Array3 & | operator= (Array3 &&)
size_t | GetBound0 () const
size_t | GetBound1 () const
size_t | GetBound2 () const
T *const * | operator[] (int slice) const
T ** | operator[] (int slice)

## Private Member Functions
void | SetPointers (T *objects)
void | SetPointers (Array3 const &other)

## Private Attributes
size_t | mBound0
size_t | mBound1
size_t | mBound2
std::vector< T > | mObjects
std::vector< T * > | mIndirect1
std::vector< T ** > | mIndirect2

## Detailed Description

template<typename T>
class NeuralEngine::Array3< T >

The Array3 class represents a 3-dimensional array that minimizes the number of new and delete calls. The T objects are stored in a contiguous array.

Hmetal T, 04.08.2016.

Definition at line 30 of file NeArray3.h.

## Constructor & Destructor Documentation

## ◆ Array3() [1/3]

template<typename T >

Array3::Array3 | ( | size_t | bound0,
|  | size_t | bound1,
|  | size_t | bound2
| ) |  |

Constructor.

<note> Construction. The first constructor generates an array of objects that are owned by Array3. The array has bound0 columns, bound1 rows, and bound2 slices. </note>

Hmetal T, 04.08.2016.

Parameters

  bound0 | The bound 0.
  bound1 | The first bound.
  bound2 | The second bound.

File: NECore/DataTypes/NeArray3.inl

Author:
Email:
Site:

Copyright (c) 2016 . All rights reserved.

Definition at line 12 of file NeArray3.inl.

## ◆ Array3() [2/3]

template<typename T >

Array3::Array3 | ( | size_t | bound0,
|  | size_t | bound1,
|  | size_t | bound2,
|  | T * | objects
| ) |  |

Constructor.

<note> The second constructor is given an array of objects that are owned by the caller. The array has bound0 columns, bound1 rows, and bound2 slices. </note>

Hmetal T, 04.08.2016.

Parameters

  bound0 | The bound 0.
  bound1 | The first bound.
  bound2 | The second bound.
  objects | [in,out] If non-null, the objects.

Definition at line 25 of file NeArray3.inl.

## ◆ Array3() [3/3]

template<typename T >

Array3::Array3 | ( |  | ) |

Default constructor.

<note> Support for dynamic resizing, copying, or moving. If 'other' does not own the original 'objects', they are not copied by the assignment operator. </note>

Hmetal T, 04.08.2016.

Definition at line 37 of file NeArray3.inl.

## Member Function Documentation

## ◆ GetBound0()

template<typename T >

size_t Array3::GetBound0 | ( |  | ) | const
| inline

Definition at line 76 of file NeArray3.inl.

## ◆ GetBound1()

template<typename T >

size_t Array3::GetBound1 | ( |  | ) | const
| inline

Definition at line 82 of file NeArray3.inl.

## ◆ GetBound2()

template<typename T >

size_t Array3::GetBound2 | ( |  | ) | const
| inline

Definition at line 88 of file NeArray3.inl.

## ◆ operator[]() [1/2]

template<typename T >

T *const * Array3::operator[] | ( | int | slice | ) | const
| inline

Definition at line 94 of file NeArray3.inl.

## ◆ operator[]() [2/2]

template<typename T >

T ** Array3::operator[] | ( | int | slice | ) |
| inline

Definition at line 100 of file NeArray3.inl.

## ◆ SetPointers() [1/2]

template<typename T >

void Array3::SetPointers | ( | T * | objects | ) |
| private

Definition at line 106 of file NeArray3.inl.

## ◆ SetPointers() [2/2]

template<typename T >

void Array3::SetPointers | ( | Array3< T > const & | other | ) |
| private

Definition at line 121 of file NeArray3.inl.

## Member Data Documentation

## ◆ mBound0

template<typename T >

size_t NeuralEngine::Array3< T >::mBound0
| private

Definition at line 102 of file NeArray3.h.

## ◆ mBound1

template<typename T >

size_t NeuralEngine::Array3< T >::mBound1
| private

Definition at line 102 of file NeArray3.h.

## ◆ mBound2

template<typename T >

size_t NeuralEngine::Array3< T >::mBound2
| private

Definition at line 102 of file NeArray3.h.

## ◆ mObjects

template<typename T >

std::vector<T> NeuralEngine::Array3< T >::mObjects
| private

Definition at line 103 of file NeArray3.h.

## ◆ mIndirect1

template<typename T >

std::vector<T*> NeuralEngine::Array3< T >::mIndirect1
| private

Definition at line 104 of file NeArray3.h.

## ◆ mIndirect2

template<typename T >

std::vector<T**> NeuralEngine::Array3< T >::mIndirect2
| private

Definition at line 105 of file NeArray3.h.

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

- NeArray3.h
- NeArray3.inl