Dune Core Modules (unstable)

Dune::Indices Namespace Reference

Namespace with predefined compile time indices for the range [0,19]. More...

Functions

template<char... digits>
constexpr auto operator""_ic ()
 Literal to create an index compile-time constant. More...
 
template<char... digits>
constexpr auto operator""_uc ()
 Literal to create an unsigned integer compile-time constant. More...
 
template<char... digits>
constexpr auto operator""_sc ()
 Literal to create a signed integer compile-time constant. More...
 
template<class T , T value>
constexpr auto operator- (std::integral_constant< T, value >)
 Negation operator for integral constants. More...
 

Variables

constexpr index_constant< 0 > _0 = {}
 Compile time index with value 0.
 
constexpr index_constant< 1 > _1 = {}
 Compile time index with value 1.
 
constexpr index_constant< 2 > _2 = {}
 Compile time index with value 2.
 
constexpr index_constant< 3 > _3 = {}
 Compile time index with value 3.
 
constexpr index_constant< 4 > _4 = {}
 Compile time index with value 4.
 
constexpr index_constant< 5 > _5 = {}
 Compile time index with value 5.
 
constexpr index_constant< 6 > _6 = {}
 Compile time index with value 6.
 
constexpr index_constant< 7 > _7 = {}
 Compile time index with value 7.
 
constexpr index_constant< 8 > _8 = {}
 Compile time index with value 8.
 
constexpr index_constant< 9 > _9 = {}
 Compile time index with value 9.
 
constexpr index_constant< 10 > _10 = {}
 Compile time index with value 10.
 
constexpr index_constant< 11 > _11 = {}
 Compile time index with value 11.
 
constexpr index_constant< 12 > _12 = {}
 Compile time index with value 12.
 
constexpr index_constant< 13 > _13 = {}
 Compile time index with value 13.
 
constexpr index_constant< 14 > _14 = {}
 Compile time index with value 14.
 
constexpr index_constant< 15 > _15 = {}
 Compile time index with value 15.
 
constexpr index_constant< 16 > _16 = {}
 Compile time index with value 16.
 
constexpr index_constant< 17 > _17 = {}
 Compile time index with value 17.
 
constexpr index_constant< 18 > _18 = {}
 Compile time index with value 18.
 
constexpr index_constant< 19 > _19 = {}
 Compile time index with value 19.
 

Detailed Description

Namespace with predefined compile time indices for the range [0,19].

The predefined index objects in this namespace are constexpr, which allows them to be used in situations where a compile time constant is needed, e.g. for a template parameter. Apart from that, constexpr implies internal linkage, which helps to avoid ODR problems.

The constants implicitly convert to their contained value, so you can for example write

std::array<int,_10> a;
// the above line is equivalent to
std::array<int,10> b;
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 27, 23:31, 2024)