Grid 0.7.0
Grid::Flatten< V > Class Template Reference

#include <VectorUtils.h>

Public Types

using Scalar

Public Member Functions

 Flatten (const V &vector)
const V & getVector (void) const
const std::vector< Scalar > & getFlatVector (void) const
const std::vector< size_t > & getDim (void) const

Static Public Attributes

static constexpr bool isGridTensor

Private Member Functions

template<typename W>
std::enable_if<!is_flattenable< W >::value &&!is_flattenable< W >::isGridTensor >::type accumulate (const W &e)
template<typename W>
std::enable_if<!is_flattenable< W >::value &&is_flattenable< W >::isGridTensor >::type accumulate (const W &e)
template<typename W>
std::enable_if< is_flattenable< W >::value >::type accumulate (const W &v)
template<typename W>
std::enable_if<!is_flattenable< W >::value &&!is_flattenable< W >::isGridTensor >::type accumulateDim (const W &e)
template<typename W>
std::enable_if<!is_flattenable< W >::value &&is_flattenable< W >::isGridTensor >::type accumulateDim (const W &e)
template<typename W>
std::enable_if< is_flattenable< W >::value >::type accumulateDim (const W &v)

Private Attributes

const V & vector_
std::vector< ScalarflatVector_
std::vector< size_t > dim_

Detailed Description

template<typename V>
class Grid::Flatten< V >

Definition at line 275 of file VectorUtils.h.

Member Typedef Documentation

◆ Scalar

template<typename V>
using Grid::Flatten< V >::Scalar

Definition at line 278 of file VectorUtils.h.

Constructor & Destructor Documentation

◆ Flatten()

template<typename V>
Grid::Flatten< V >::Flatten ( const V & vector)
explicit

Definition at line 385 of file VectorUtils.h.

References accumulate(), accumulateDim(), dim_, flatVector_, and vector_.

Member Function Documentation

◆ getVector()

template<typename V>
const V & Grid::Flatten< V >::getVector ( void ) const
inline

Definition at line 282 of file VectorUtils.h.

References vector_.

◆ getFlatVector()

template<typename V>
const std::vector< Scalar > & Grid::Flatten< V >::getFlatVector ( void ) const
inline

Definition at line 283 of file VectorUtils.h.

References flatVector_.

Referenced by Grid::Hdf5Writer::writeDefault().

◆ getDim()

template<typename V>
const std::vector< size_t > & Grid::Flatten< V >::getDim ( void ) const
inline

Definition at line 284 of file VectorUtils.h.

References dim_.

Referenced by Grid::Hdf5Writer::writeDefault().

◆ accumulate() [1/3]

template<typename V>
template<typename W>
std::enable_if< is_flattenable< W >::value >::type Grid::Flatten< V >::accumulate ( const W & e)
private

Definition at line 343 of file VectorUtils.h.

References flatVector_.

Referenced by Flatten().

◆ accumulate() [2/3]

template<typename V>
template<typename W>
std::enable_if<!is_flattenable< W >::value &&is_flattenable< W >::isGridTensor >::type Grid::Flatten< V >::accumulate ( const W & e)
private

◆ accumulate() [3/3]

template<typename V>
template<typename W>
std::enable_if< is_flattenable< W >::value >::type Grid::Flatten< V >::accumulate ( const W & v)
private

◆ accumulateDim() [1/3]

template<typename V>
template<typename W>
std::enable_if< is_flattenable< W >::value >::type Grid::Flatten< V >::accumulateDim ( const W & e)
inlineprivate

Definition at line 293 of file VectorUtils.h.

Referenced by Flatten().

◆ accumulateDim() [2/3]

template<typename V>
template<typename W>
std::enable_if<!is_flattenable< W >::value &&is_flattenable< W >::isGridTensor >::type Grid::Flatten< V >::accumulateDim ( const W & e)
private

◆ accumulateDim() [3/3]

template<typename V>
template<typename W>
std::enable_if< is_flattenable< W >::value >::type Grid::Flatten< V >::accumulateDim ( const W & v)
private

Field Documentation

◆ isGridTensor

template<typename V>
bool Grid::Flatten< V >::isGridTensor
staticconstexpr

Definition at line 279 of file VectorUtils.h.

◆ vector_

template<typename V>
const V& Grid::Flatten< V >::vector_
private

Definition at line 299 of file VectorUtils.h.

Referenced by Flatten(), and getVector().

◆ flatVector_

template<typename V>
std::vector<Scalar> Grid::Flatten< V >::flatVector_
private

Definition at line 300 of file VectorUtils.h.

Referenced by accumulate(), Flatten(), and getFlatVector().

◆ dim_

template<typename V>
std::vector<size_t> Grid::Flatten< V >::dim_
private

Definition at line 301 of file VectorUtils.h.

Referenced by Flatten(), and getDim().


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