OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Static Public Attributes | List of all members
olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS > Struct Template Reference

Base descriptor of a D-dimensional lattice with Q directions and a list of additional fields. More...

#include <descriptorBase.h>

+ Inheritance diagram for olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >:
+ Collaboration diagram for olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >:

Public Types

using type = TYPE_LATTICE
 Type identifier.
 
using all_t = meta::list<FIELDS...>
 
using fields_t = meta::filter_t<is_data_field, FIELDS...>
 
using tags_t = meta::filter_t<is_tag_field, FIELDS...>
 
using category_tag = typename tags_t::template first_with_base_or_fallback<tag::CATEGORY, tag::DEFAULT>
 Tag that describes the category of the descriptor.
 
- Public Types inherited from olb::descriptors::CONCRETE_FIELD_TUPLE< PARAMETER_TUPLE< D, Q >, FIELDS... >
using parameter_tuple_t
 
using derivedField
 Returns FIELD by provided BASE.
 
- Public Types inherited from olb::descriptors::FIELD_TUPLE< FIELDS... >
using fields_t
 
using decompose_into
 
using filter
 Returns FIELD_TUPLE with subset of FIELDS meeting COND.
 
- Public Types inherited from olb::meta::list< FIELDS... >
using get
 Returns INDEXth type of TYPES.
 
using decompose_into
 Export TYPES into arbitrary variadic template COLLECTION.
 
using map
 
using map_to_callable_result
 
using push
 
using append
 
using include
 Merge TYPES and UYPES into new list.
 
using first_with_base
 Returns first type of TYPES that is derived from BASE.
 
using first_with_base_or_fallback
 Returns first type of TYPES that is derived from BASE.
 

Static Public Attributes

static constexpr int d = D
 Number of dimensions.
 
static constexpr int q = Q
 Number of velocities.
 
- Static Public Attributes inherited from olb::descriptors::FIELD_TUPLE< FIELDS... >
static constexpr std::size_t field_count
 Number of fields.
 
- Static Public Attributes inherited from olb::meta::list< FIELDS... >
static constexpr unsigned size
 

Additional Inherited Members

- Public Member Functions inherited from olb::descriptors::FIELD_TUPLE< FIELDS... >
 FIELD_TUPLE ()=delete
 Deleted constructor to enforce pure usage as type and prevent implicit narrowing conversions.
 
- Static Public Member Functions inherited from olb::descriptors::CONCRETE_FIELD_TUPLE< PARAMETER_TUPLE< D, Q >, FIELDS... >
static constexpr bool providesNested ()
 Returns whether WANTED_FIELD (last in NESTED_FIELDS) is provided by CONCRETE_FIELD_TUPLE.
 
static constexpr std::size_t size ()
 Returns size of FIELD if given or of whole tuple if not.
 
- Static Public Member Functions inherited from olb::descriptors::FIELD_TUPLE< FIELDS... >
static constexpr bool provides ()
 Returns whether WANTED_FIELD is contained in FIELDS.
 
static bool provides (std::type_index field)
 Returns whether field is contained in FIELDS.
 
- Static Public Member Functions inherited from olb::meta::list< FIELDS... >
static constexpr unsigned index ()
 Index of first instance of TYPE in TYPES.
 
static constexpr void for_each (F f)
 Calls f for each type of TYPES by-value (in reversed order!)
 
static constexpr bool contains ()
 

Detailed Description

template<unsigned D, unsigned Q, typename... FIELDS>
struct olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >

Base descriptor of a D-dimensional lattice with Q directions and a list of additional fields.

Definition at line 147 of file descriptorBase.h.

Member Typedef Documentation

◆ all_t

template<unsigned D, unsigned Q, typename... FIELDS>
using olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >::all_t = meta::list<FIELDS...>

Definition at line 156 of file descriptorBase.h.

◆ category_tag

template<unsigned D, unsigned Q, typename... FIELDS>
using olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >::category_tag = typename tags_t::template first_with_base_or_fallback<tag::CATEGORY, tag::DEFAULT>

Tag that describes the category of the descriptor.

e.g. tag::RTLBM for RTLBM descriptors or tag::DEFAULT if no category tag-field is found.

This is needed to enable tag-dispatching of descriptor function overloads.

Definition at line 166 of file descriptorBase.h.

◆ fields_t

template<unsigned D, unsigned Q, typename... FIELDS>
using olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >::fields_t = meta::filter_t<is_data_field, FIELDS...>

Definition at line 157 of file descriptorBase.h.

◆ tags_t

template<unsigned D, unsigned Q, typename... FIELDS>
using olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >::tags_t = meta::filter_t<is_tag_field, FIELDS...>

Definition at line 158 of file descriptorBase.h.

◆ type

template<unsigned D, unsigned Q, typename... FIELDS>
using olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >::type = TYPE_LATTICE

Type identifier.

Definition at line 150 of file descriptorBase.h.

Member Data Documentation

◆ d

template<unsigned D, unsigned Q, typename... FIELDS>
constexpr int olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >::d = D
staticconstexpr

Number of dimensions.

Definition at line 152 of file descriptorBase.h.

◆ q

template<unsigned D, unsigned Q, typename... FIELDS>
constexpr int olb::descriptors::LATTICE_DESCRIPTOR< D, Q, FIELDS >::q = Q
staticconstexpr

Number of velocities.

Definition at line 154 of file descriptorBase.h.


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