19#ifndef GRIDCONTAINER_GRIDCELLMANAGERVECTOROFVECTORS_H
20#define GRIDCONTAINER_GRIDCELLMANAGERVECTOROFVECTORS_H
28namespace GridContainer {
31struct VectorValueProxy;
215 return Euclid::make_unique<GridCellManagerVectorOfVectors<T>>(
size, nested_values);
static std::unique_ptr< GridCellManagerVectorOfVectors< T > > factory(size_t size, size_t nested_values)
std::vector< double > data_type
static iterator end(GridCellManagerVectorOfVectors< T > &c)
GridCellManagerVectorOfVectors< T >::StrideIterator iterator
static iterator begin(GridCellManagerVectorOfVectors< T > &c)
VectorValueProxy< T > reference_type
VectorValueProxy< T > pointer_type
Class used by the GridContainer to access the different CellManagers.
static size_t size(const GridCellManager &cell_manager)
VectorValueProxy< T > operator*()
bool operator>(const StrideIterator &other) const
VectorValueProxy< T > operator->()
bool operator!=(const StrideIterator &other) const
StrideIterator & operator++()
StrideIterator & operator+=(int diff)
StrideIterator(typename std::vector< T >::iterator start, int stride)
ptrdiff_t operator-(const StrideIterator &other) const
std::vector< T >::iterator m_i
size_t getTotalSize() const
std::vector< T > m_values
size_t getCellSize() const
GridCellManagerVectorOfVectors(GridCellManagerVectorOfVectors &&)=default
VectorValueProxy< T > operator[](int i)
GridCellManagerVectorOfVectors(const GridCellManagerVectorOfVectors &)=delete
~GridCellManagerVectorOfVectors()=default
GridCellManagerVectorOfVectors(size_t size, int nested_values)
const_iterator cend() const
VectorValueProxy(typename std::vector< T >::iterator begin_, typename std::vector< T >::iterator end_)
typename std::vector< T >::const_iterator const_iterator
std::vector< T >::iterator m_begin
const T & operator[](const size_t i) const
bool operator!=(const VectorValueProxy &other) const
VectorValueProxy * operator->() const
const_iterator cbegin() const
VectorValueProxy & operator=(const VectorValueProxy &other)
typename std::vector< T >::iterator iterator
std::vector< T >::iterator m_end
T & operator[](const size_t i)
bool operator==(const VectorValueProxy &other) const
const_iterator begin() const
const_iterator end() const