OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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 518 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 532 of file fieldArrayD.h.

532 :
533 _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 544 of file fieldArrayD.h.

544{ return _count; }

◆ get()

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

Definition at line 536 of file fieldArrayD.h.

536 {
537 if constexpr (meta::contains<GROUP,GROUPS...>()) {
538 return std::get<descriptors::getIndexInFieldList<GROUP,GROUPS...>()>(_data);
539 } else {
540 throw std::invalid_argument("This DynamicFieldGroupsD does not provide GROUP.");
541 }
542 }
constexpr unsigned getIndexInFieldList()
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 556 of file fieldArrayD.h.

557 {
558 return (get<GROUPS>().getSerializableSize() + ... + 0);
559 }

◆ resize()

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

Definition at line 546 of file fieldArrayD.h.

546 {
547 (get<GROUPS>().resize(newCount), ...);
548 _count = newCount;
549 }

◆ 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 551 of file fieldArrayD.h.

552 {
553 (get<GROUPS>().swap(i,j), ...);
554 }

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