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;

Function Documentation

◆ operator""_ic()

template<char... digits>
constexpr auto Dune::Indices::Literals::operator""_ic ( )
constexpr

Literal to create an index compile-time constant.

Example: 1_ic -> std::integral_constant<std::size_t,1>

◆ operator""_sc()

template<char... digits>
constexpr auto Dune::Indices::Literals::operator""_sc ( )
constexpr

Literal to create a signed integer compile-time constant.

Example: 1_sc -> std::integral_constant<int,1>

◆ operator""_uc()

template<char... digits>
constexpr auto Dune::Indices::Literals::operator""_uc ( )
constexpr

Literal to create an unsigned integer compile-time constant.

Example: 1_uc -> std::integral_constant<unsigned,1>

◆ operator-()

template<class T , T value>
constexpr auto Dune::Indices::Literals::operator- ( std::integral_constant< T, value >  )
constexpr

Negation operator for integral constants.

Example: -1_sc -> std::integral_constant<int,-1>

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Jun 2, 23:00, 2026)