Loading...
Searching...
No Matches
CubbyFlow::ArrayBase< T, N, DerivedArray > Class Template Reference

#include <Core/Array/ArrayBase.hpp>

Inheritance diagram for CubbyFlow::ArrayBase< T, N, DerivedArray >:
CubbyFlow::Array< CubbyFlow::Matrix > CubbyFlow::Array< CubbyFlow::BoundingBox< double, N > > CubbyFlow::Array< Node > CubbyFlow::Array< std::shared_ptr< CubbyFlow::Collider< N > > > CubbyFlow::Array< CubbyFlow::Matrix< double, N >, N > CubbyFlow::Array< double > CubbyFlow::Array< FDMMatrixRow2 > CubbyFlow::Array< FDMMatrixRow3 > CubbyFlow::Array< char > CubbyFlow::Array< std::shared_ptr< CubbyFlow::ImplicitSurface< N > > > CubbyFlow::Array< CubbyFlow::Array > CubbyFlow::Array< CubbyFlow::Array< size_t > > CubbyFlow::Array< size_t > CubbyFlow::Array< CubbyFlow::Matrix< double, N > > CubbyFlow::Array< double, N > CubbyFlow::Array< std::shared_ptr< CubbyFlow::Surface< N > > > CubbyFlow::Array< Vector3UZ > CubbyFlow::ArrayView< const CubbyFlow::Matrix< double, N >, N > CubbyFlow::ArrayView< CubbyFlow::FDMMatrixRow2 > CubbyFlow::ArrayView< CubbyFlow::FDMMatrixRow3 > CubbyFlow::ArrayView< const double, N >

Public Types

using Derived = DerivedArray
 
using ValueType = T
 
using Reference = T &
 
using ConstReference = const T &
 
using Pointer = T *
 
using ConstPointer = const T *
 
using Iterator = T *
 
using ConstIterator = const T *
 

Public Member Functions

size_t Index (size_t i) const
 
template<typename... Args>
size_t Index (size_t i, Args... args) const
 
template<size_t... I>
size_t Index (const Vector< size_t, N > &idx) const
 
Pointer data ()
 
ConstPointer data () const
 
const Vector< size_t, N > & Size () const
 
template<size_t M = N>
std::enable_if_t<(M > 0), size_tWidth () const
 
template<size_t M = N>
std::enable_if_t<(M > 1), size_tHeight () const
 
template<size_t M = N>
std::enable_if_t<(M > 2), size_tDepth () const
 
bool IsEmpty () const
 
size_t Length () const
 
Iterator begin ()
 
ConstIterator begin () const
 
Iterator end ()
 
ConstIterator end () const
 
Iterator rbegin ()
 
ConstIterator rbegin () const
 
Iterator rend ()
 
ConstIterator rend () const
 
Reference At (size_t i)
 
ConstReference At (size_t i) const
 
template<typename... Args>
Reference At (size_t i, Args... args)
 
template<typename... Args>
ConstReference At (size_t i, Args... args) const
 
Reference At (const Vector< size_t, N > &idx)
 
ConstReference At (const Vector< size_t, N > &idx) const
 
Reference operator[] (size_t i)
 
ConstReference operator[] (size_t i) const
 
template<typename... Args>
Reference operator() (size_t i, Args... args)
 
template<typename... Args>
ConstReference operator() (size_t i, Args... args) const
 
Reference operator() (const Vector< size_t, N > &idx)
 
ConstReference operator() (const Vector< size_t, N > &idx) const
 
template<typename... Args>
TAt (size_t i, Args... args)
 
template<typename... Args>
const TAt (size_t i, Args... args) const
 
template<typename... Args>
Toperator() (size_t i, Args... args)
 
template<typename... Args>
const Toperator() (size_t i, Args... args) const
 

Protected Member Functions

 ArrayBase ()
 
virtual ~ArrayBase ()=default
 
 ArrayBase (const ArrayBase &other)
 
 ArrayBase (ArrayBase &&other) noexcept
 
ArrayBaseoperator= (const ArrayBase &other)
 
ArrayBaseoperator= (ArrayBase &&other) noexcept
 
template<typename... Args>
void SetPtrAndSize (Pointer ptr, size_t ni, Args... args)
 
void SetPtrAndSize (Pointer data, Vector< size_t, N > size)
 
void SwapPtrAndSize (ArrayBase &other)
 
void ClearPtrAndSize ()
 

Protected Attributes

Pointer m_ptr = nullptr
 
Vector< size_t, Nm_size
 

Member Typedef Documentation

◆ ConstIterator

◆ ConstPointer

◆ ConstReference

◆ Derived

◆ Iterator

◆ Pointer

◆ Reference

◆ ValueType

Constructor & Destructor Documentation

◆ ArrayBase() [1/3]

template<typename T , size_t N, typename D >
CubbyFlow::ArrayBase< T, N, D >::ArrayBase ( )
protected

◆ ~ArrayBase()

virtual CubbyFlow::ArrayBase< T, N, DerivedArray >::~ArrayBase ( )
protectedvirtualdefault

◆ ArrayBase() [2/3]

template<typename T , size_t N, typename D >
CubbyFlow::ArrayBase< T, N, D >::ArrayBase ( const ArrayBase< T, N, DerivedArray > &  other)
protected

◆ ArrayBase() [3/3]

template<typename T , size_t N, typename D >
CubbyFlow::ArrayBase< T, N, D >::ArrayBase ( ArrayBase< T, N, DerivedArray > &&  other)
protectednoexcept

Member Function Documentation

◆ At() [1/8]

template<typename T , size_t N, typename D >
T & CubbyFlow::ArrayBase< T, N, D >::At ( const Vector< size_t, N > &  idx)

◆ At() [2/8]

template<typename T , size_t N, typename D >
const T & CubbyFlow::ArrayBase< T, N, D >::At ( const Vector< size_t, N > &  idx) const

◆ At() [3/8]

template<typename T , size_t N, typename D >
T & CubbyFlow::ArrayBase< T, N, D >::At ( size_t  i)

◆ At() [4/8]

template<typename T , size_t N, typename D >
const T & CubbyFlow::ArrayBase< T, N, D >::At ( size_t  i) const

◆ At() [5/8]

template<typename... Args>
T & CubbyFlow::ArrayBase< T, N, DerivedArray >::At ( size_t  i,
Args...  args 
)

◆ At() [6/8]

template<typename... Args>
Reference CubbyFlow::ArrayBase< T, N, DerivedArray >::At ( size_t  i,
Args...  args 
)

◆ At() [7/8]

template<typename... Args>
const T & CubbyFlow::ArrayBase< T, N, DerivedArray >::At ( size_t  i,
Args...  args 
) const

◆ At() [8/8]

template<typename... Args>
ConstReference CubbyFlow::ArrayBase< T, N, DerivedArray >::At ( size_t  i,
Args...  args 
) const

◆ begin() [1/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D >::Iterator CubbyFlow::ArrayBase< T, N, D >::begin ( )

◆ begin() [2/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D >::ConstIterator CubbyFlow::ArrayBase< T, N, D >::begin ( ) const

◆ ClearPtrAndSize()

template<typename T , size_t N, typename D >
void CubbyFlow::ArrayBase< T, N, D >::ClearPtrAndSize ( )
protected

◆ data() [1/2]

template<typename T , size_t N, typename D >
T * CubbyFlow::ArrayBase< T, N, D >::data ( )

◆ data() [2/2]

template<typename T , size_t N, typename D >
const T * CubbyFlow::ArrayBase< T, N, D >::data ( ) const

◆ Depth()

template<typename T , size_t N, typename D >
template<size_t M>
std::enable_if_t<(M > 2), size_t > CubbyFlow::ArrayBase< T, N, D >::Depth ( ) const

◆ end() [1/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D >::Iterator CubbyFlow::ArrayBase< T, N, D >::end ( )

◆ end() [2/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D >::ConstIterator CubbyFlow::ArrayBase< T, N, D >::end ( ) const

◆ Height()

template<typename T , size_t N, typename D >
template<size_t M>
std::enable_if_t<(M > 1), size_t > CubbyFlow::ArrayBase< T, N, D >::Height ( ) const

◆ Index() [1/3]

template<typename T , size_t N, typename D >
template<size_t... I>
size_t CubbyFlow::ArrayBase< T, N, D >::Index ( const Vector< size_t, N > &  idx) const

◆ Index() [2/3]

template<typename T , size_t N, typename D >
size_t CubbyFlow::ArrayBase< T, N, D >::Index ( size_t  i) const

◆ Index() [3/3]

template<typename T , size_t N, typename D >
template<typename... Args>
size_t CubbyFlow::ArrayBase< T, N, D >::Index ( size_t  i,
Args...  args 
) const

◆ IsEmpty()

template<typename T , size_t N, typename D >
bool CubbyFlow::ArrayBase< T, N, D >::IsEmpty ( ) const

◆ Length()

template<typename T , size_t N, typename D >
size_t CubbyFlow::ArrayBase< T, N, D >::Length ( ) const

◆ operator()() [1/6]

template<typename T , size_t N, typename D >
T & CubbyFlow::ArrayBase< T, N, D >::operator() ( const Vector< size_t, N > &  idx)

◆ operator()() [2/6]

template<typename T , size_t N, typename D >
const T & CubbyFlow::ArrayBase< T, N, D >::operator() ( const Vector< size_t, N > &  idx) const

◆ operator()() [3/6]

template<typename... Args>
T & CubbyFlow::ArrayBase< T, N, DerivedArray >::operator() ( size_t  i,
Args...  args 
)

◆ operator()() [4/6]

template<typename... Args>
Reference CubbyFlow::ArrayBase< T, N, DerivedArray >::operator() ( size_t  i,
Args...  args 
)

◆ operator()() [5/6]

template<typename... Args>
const T & CubbyFlow::ArrayBase< T, N, DerivedArray >::operator() ( size_t  i,
Args...  args 
) const

◆ operator()() [6/6]

template<typename... Args>
ConstReference CubbyFlow::ArrayBase< T, N, DerivedArray >::operator() ( size_t  i,
Args...  args 
) const

◆ operator=() [1/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D > & CubbyFlow::ArrayBase< T, N, D >::operator= ( ArrayBase< T, N, DerivedArray > &&  other)
protectednoexcept

◆ operator=() [2/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D > & CubbyFlow::ArrayBase< T, N, D >::operator= ( const ArrayBase< T, N, DerivedArray > &  other)
protected

◆ operator[]() [1/2]

template<typename T , size_t N, typename D >
T & CubbyFlow::ArrayBase< T, N, D >::operator[] ( size_t  i)

◆ operator[]() [2/2]

template<typename T , size_t N, typename D >
const T & CubbyFlow::ArrayBase< T, N, D >::operator[] ( size_t  i) const

◆ rbegin() [1/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D >::Iterator CubbyFlow::ArrayBase< T, N, D >::rbegin ( )

◆ rbegin() [2/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D >::ConstIterator CubbyFlow::ArrayBase< T, N, D >::rbegin ( ) const

◆ rend() [1/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D >::Iterator CubbyFlow::ArrayBase< T, N, D >::rend ( )

◆ rend() [2/2]

template<typename T , size_t N, typename D >
ArrayBase< T, N, D >::ConstIterator CubbyFlow::ArrayBase< T, N, D >::rend ( ) const

◆ SetPtrAndSize() [1/2]

template<typename T , size_t N, typename D >
void CubbyFlow::ArrayBase< T, N, D >::SetPtrAndSize ( Pointer  data,
Vector< size_t, N size 
)
protected

◆ SetPtrAndSize() [2/2]

template<typename T , size_t N, typename D >
template<typename... Args>
void CubbyFlow::ArrayBase< T, N, D >::SetPtrAndSize ( Pointer  ptr,
size_t  ni,
Args...  args 
)
protected

◆ Size()

template<typename T , size_t N, typename D >
const Vector< size_t, N > & CubbyFlow::ArrayBase< T, N, D >::Size ( ) const

◆ SwapPtrAndSize()

template<typename T , size_t N, typename D >
void CubbyFlow::ArrayBase< T, N, D >::SwapPtrAndSize ( ArrayBase< T, N, DerivedArray > &  other)
protected

◆ Width()

template<typename T , size_t N, typename D >
template<size_t M>
std::enable_if_t<(M > 0), size_t > CubbyFlow::ArrayBase< T, N, D >::Width ( ) const

Member Data Documentation

◆ m_ptr

◆ m_size


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