Wildmeshing Toolkit
wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType > Class Template Reference

#include <CompoundAccessor.hpp>

Public Types

using Type = std::tuple< AttributeType... >
 
using AccessorTuple = std::tuple< Accessor< AttributeType, MeshType >... >
 
using ValueType = std::tuple< MapResult< AttributeType >... >
 
using ConstValueType = std::tuple< ConstMapResult< AttributeType >... >
 

Public Member Functions

 CompoundAccessor (MeshType &m, const TypedAttributeHandle< AttributeType > &... handle)
 
 CompoundAccessor (const MeshType &m, const TypedAttributeHandle< AttributeType > &... handle)
 
template<typename FirstAcc , int FirstDim, typename... AccTypes, int... Dims>
 CompoundAccessor (const Accessor< FirstAcc, MeshType, FirstDim > &, const Accessor< AccTypes, MeshType, Dims > &...)
 
template<size_t... Ns>
ValueType _value (const Tuple &t, std::integer_sequence< size_t, Ns... >)
 
ValueType value (const Tuple &t)
 
template<size_t... Ns>
ConstValueType _const_value (const Tuple &t, std::integer_sequence< size_t, Ns... >) const
 
ConstValueType const_value (const Tuple &t) const
 
template<size_t Index>
const auto & get () const
 
template<size_t Index>
auto & get ()
 
template<size_t Index>
PrimitiveType primitive_type () const
 returns the primitive type of the Index'th type More...
 
template<typename FirstAccType , int FirstDim, typename... AccTypes, int... Dims>
 CompoundAccessor (const Accessor< FirstAccType, MeshType, FirstDim > &acc, const Accessor< AccTypes, MeshType, Dims > &... accs)
 

Private Attributes

std::tuple< Accessor< AttributeType, MeshType >... > m_base_accessors
 

Detailed Description

template<size_t N, typename MeshType, typename... AttributeType>
class wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >

Definition at line 10 of file CompoundAccessor.hpp.

Member Typedef Documentation

◆ AccessorTuple

template<size_t N, typename MeshType , typename... AttributeType>
using wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::AccessorTuple = std::tuple<Accessor<AttributeType, MeshType>...>

Definition at line 21 of file CompoundAccessor.hpp.

◆ ConstValueType

template<size_t N, typename MeshType , typename... AttributeType>
using wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::ConstValueType = std::tuple<ConstMapResult<AttributeType>...>

Definition at line 23 of file CompoundAccessor.hpp.

◆ Type

template<size_t N, typename MeshType , typename... AttributeType>
using wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::Type = std::tuple<AttributeType...>

Definition at line 13 of file CompoundAccessor.hpp.

◆ ValueType

template<size_t N, typename MeshType , typename... AttributeType>
using wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::ValueType = std::tuple<MapResult<AttributeType>...>

Definition at line 22 of file CompoundAccessor.hpp.

Constructor & Destructor Documentation

◆ CompoundAccessor() [1/4]

template<size_t N, typename MeshType , typename... AttributeType>
wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::CompoundAccessor ( MeshType &  m,
const TypedAttributeHandle< AttributeType > &...  handle 
)

Definition at line 17 of file CompoundAccessor.hxx.

◆ CompoundAccessor() [2/4]

template<size_t N, typename MeshType , typename... AttributeType>
wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::CompoundAccessor ( const MeshType &  m,
const TypedAttributeHandle< AttributeType > &...  handle 
)

Definition at line 11 of file CompoundAccessor.hxx.

◆ CompoundAccessor() [3/4]

template<size_t N, typename MeshType , typename... AttributeType>
template<typename FirstAcc , int FirstDim, typename... AccTypes, int... Dims>
wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::CompoundAccessor ( const Accessor< FirstAcc, MeshType, FirstDim > &  ,
const Accessor< AccTypes, MeshType, Dims > &  ... 
)

◆ CompoundAccessor() [4/4]

template<size_t N, typename MeshType , typename... AttributeType>
template<typename FirstAccType , int FirstDim, typename... AccTypes, int... Dims>
wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::CompoundAccessor ( const Accessor< FirstAccType, MeshType, FirstDim > &  acc,
const Accessor< AccTypes, MeshType, Dims > &...  accs 
)

Definition at line 24 of file CompoundAccessor.hxx.

Member Function Documentation

◆ _const_value()

template<size_t N, typename MeshType , typename... AttributeType>
template<size_t... Ns>
ConstValueType wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::_const_value ( const Tuple t,
std::integer_sequence< size_t, Ns... >   
) const
inline

Definition at line 34 of file CompoundAccessor.hpp.

References wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::m_base_accessors.

Referenced by wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::const_value().

Here is the caller graph for this function:

◆ _value()

template<size_t N, typename MeshType , typename... AttributeType>
template<size_t... Ns>
ValueType wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::_value ( const Tuple t,
std::integer_sequence< size_t, Ns... >   
)
inline

Definition at line 27 of file CompoundAccessor.hpp.

References wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::m_base_accessors.

Referenced by wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::value().

Here is the caller graph for this function:

◆ const_value()

template<size_t N, typename MeshType , typename... AttributeType>
ConstValueType wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::const_value ( const Tuple t) const
inline

Definition at line 38 of file CompoundAccessor.hpp.

References wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::_const_value().

Here is the call graph for this function:

◆ get() [1/2]

template<size_t N, typename MeshType , typename... AttributeType>
template<size_t Index>
auto& wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::get ( )
inline

◆ get() [2/2]

template<size_t N, typename MeshType , typename... AttributeType>
template<size_t Index>
const auto& wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::get ( ) const
inline

◆ primitive_type()

template<size_t N, typename MeshType , typename... AttributeType>
template<size_t Index>
PrimitiveType wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::primitive_type

returns the primitive type of the Index'th type

Definition at line 33 of file CompoundAccessor.hxx.

◆ value()

template<size_t N, typename MeshType , typename... AttributeType>
ValueType wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::value ( const Tuple t)
inline

Definition at line 31 of file CompoundAccessor.hpp.

References wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::_value().

Here is the call graph for this function:

Member Data Documentation

◆ m_base_accessors

template<size_t N, typename MeshType , typename... AttributeType>
std::tuple<Accessor<AttributeType, MeshType>...> wmtk::attribute::internal::CompoundAccessor< N, MeshType, AttributeType >::m_base_accessors
private

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