OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > > Class Template Reference

#include <fieldArrayD.h>

+ Collaboration diagram for olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > >:

Public Member Functions

 DynamicFieldGroupsD (std::size_t count)
 
template<typename GROUP >
auto & get ()
 
std::size_t count ()
 
void resize (std::size_t newCount)
 
void swap (std::size_t i, std::size_t j)
 
std::size_t constexpr getSerializableSize ()
 

Detailed Description

template<typename T, typename... GROUPS>
class olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > >

Definition at line 576 of file fieldArrayD.h.

Constructor & Destructor Documentation

◆ DynamicFieldGroupsD()

template<typename T , typename... GROUPS>
olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > >::DynamicFieldGroupsD ( std::size_t count)
inline

Definition at line 590 of file fieldArrayD.h.

590 :
591 _data((std::void_t<GROUPS>(), count)...), _count(count) { }

Member Function Documentation

◆ count()

template<typename T , typename... GROUPS>
std::size_t olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > >::count ( )
inline

Definition at line 602 of file fieldArrayD.h.

602{ return _count; }

◆ get()

template<typename T , typename... GROUPS>
template<typename GROUP >
auto & olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > >::get ( )
inline

Definition at line 594 of file fieldArrayD.h.

594 {
595 if constexpr (meta::contains<GROUP,GROUPS...>()) {
596 return std::get<descriptors::getIndexInFieldList<GROUP,GROUPS...>()>(_data);
597 } else {
598 throw std::invalid_argument("This DynamicFieldGroupsD does not provide GROUP.");
599 }
600 }
constexpr unsigned getIndexInFieldList()
Definition fields.h:482
constexpr bool contains()
Returns true iff a given type list contains WANTED.
Definition meta.h:125

References olb::meta::contains(), and olb::descriptors::getIndexInFieldList().

+ Here is the call graph for this function:

◆ getSerializableSize()

template<typename T , typename... GROUPS>
std::size_t constexpr olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > >::getSerializableSize ( )
inlineconstexpr

Definition at line 614 of file fieldArrayD.h.

◆ resize()

template<typename T , typename... GROUPS>
void olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > >::resize ( std::size_t newCount)
inline

Definition at line 604 of file fieldArrayD.h.

604 {
605 (get<GROUPS>().resize(newCount), ...);
606 _count = newCount;
607 }

◆ swap()

template<typename T , typename... GROUPS>
void olb::DynamicFieldGroupsD< T, meta::list< GROUPS... > >::swap ( std::size_t i,
std::size_t j )
inline

Definition at line 609 of file fieldArrayD.h.

610 {
611 (get<GROUPS>().swap(i,j), ...);
612 }

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