Metaprogramming library (since C++11) - cppreference.com

From cppreference.com

C++

Compiler support

Freestanding and hosted

Language

Standard library

Standard library headers

Named requirements

Feature test macros

(C++20)

Language support library

Concepts library

(C++20)

Diagnostics library

Memory management library

Metaprogramming library

(C++11)

General utilities library

Containers library

Iterators library

Ranges library

(C++20)

Algorithms library

Strings library

Text processing library

Numerics library

Date and time library

Input/output library

Filesystem library

(C++17)

Concurrency support library

(C++11)

Execution control library

(C++26)

Technical specifications

Symbols index

External libraries

Metaprogramming library

Type traits

(C++11)

Compile-time rational arithmetic

(C++11)

Compile-time integer sequences

(C++14)

integer_sequence

(C++14)

Compile-time reflection

(C++26)C++ provides metaprogramming facilities, such as type traits, compile-time rational arithmetic, and compile-time integer sequences.

1 Type traits

2 Compile-time rational arithmetic

3 Compile-time integer sequences (since C++14)

4 Compile-time reflection (since C++26)

Type traits

The header

<type_traits>

provides

compile-time template-based interfaces to query the properties of types

.

Compile-time rational arithmetic

The header

<ratio>

provides

types and functions for manipulating and storing compile-time ratios

.

Compile-time integer sequences

(since C++14)

Compile-time reflection

(since C++26)

The header

<meta>

provides

facilities for static reflection and reflective metaprogramming

.