OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
olb::meta::plain_map< KEYS, VALUES > Struct Template Reference

#include <typeMap.h>

+ Collaboration diagram for olb::meta::plain_map< KEYS, VALUES >:

Public Types

using keys_t = KEYS
 
using values_t = VALUES
 
template<typename KEY >
using value = typename values_t::template get<(keys_t::template index<KEY>())>
 
template<template< typename > typename F>
using map_values = plain_map<keys_t, typename values_t::template map<F>>
 

Static Public Member Functions

template<typename F >
static constexpr void for_each (F f)
 

Static Public Attributes

static constexpr unsigned size = keys_t::size
 

Detailed Description

template<typename KEYS, typename VALUES>
struct olb::meta::plain_map< KEYS, VALUES >

Definition at line 62 of file typeMap.h.

Member Typedef Documentation

◆ keys_t

template<typename KEYS , typename VALUES >
using olb::meta::plain_map< KEYS, VALUES >::keys_t = KEYS

Definition at line 63 of file typeMap.h.

◆ map_values

template<typename KEYS , typename VALUES >
template<template< typename > typename F>
using olb::meta::plain_map< KEYS, VALUES >::map_values = plain_map<keys_t, typename values_t::template map<F>>

Definition at line 75 of file typeMap.h.

◆ value

template<typename KEYS , typename VALUES >
template<typename KEY >
using olb::meta::plain_map< KEYS, VALUES >::value = typename values_t::template get<(keys_t::template index<KEY>())>

Definition at line 72 of file typeMap.h.

◆ values_t

template<typename KEYS , typename VALUES >
using olb::meta::plain_map< KEYS, VALUES >::values_t = VALUES

Definition at line 64 of file typeMap.h.

Member Function Documentation

◆ for_each()

template<typename KEYS , typename VALUES >
template<typename F >
static constexpr void olb::meta::plain_map< KEYS, VALUES >::for_each ( F f)
inlinestaticconstexpr

Definition at line 78 of file typeMap.h.

78 {
79 KEYS::for_each([&](auto key) {
80 f(key, meta::id<value<typename decltype(key)::type>>{});
81 });
82 }
typename values_t::template get<(keys_t::template index< KEY >())> value
Definition typeMap.h:72

Member Data Documentation

◆ size

template<typename KEYS , typename VALUES >
constexpr unsigned olb::meta::plain_map< KEYS, VALUES >::size = keys_t::size
staticconstexpr

Definition at line 69 of file typeMap.h.


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