|
constexpr const_string< 0 > | make_const_string () noexcept |
|
template<size_t N> |
constexpr const_string< N - 1 > | make_const_string (const char(&str)[N]) noexcept |
|
template<size_t N, size_t M> |
constexpr const_string< N+M > | operator+ (const const_string< N > &a, const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr const_string< N+M - 1 > | operator+ (const const_string< N > &a, const char(&b)[M]) noexcept |
|
template<size_t N, size_t M> |
constexpr const_string< N+M - 1 > | operator+ (const char(&a)[N], const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | operator== (const const_string< N > &a, const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | operator!= (const const_string< N > &a, const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | operator== (const const_string< N > &a, const char(&b)[M]) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | operator!= (const const_string< N > &a, const char(&b)[M]) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | operator== (const char(&a)[N], const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | operator!= (const char(&a)[N], const const_string< M > &b) noexcept |
|
template<size_t N> |
constexpr std::ostream & | operator<< (std::ostream &os, const const_string< N > &str) noexcept |
|
template<typename T = int, typename... Ts> |
constexpr int | ignore (Ts &&...) noexcept |
|
template<typename T > |
constexpr decltype(auto) | identity (T &&t) noexcept |
|
template<typename T > |
constexpr const T & | make_const (const T &value) noexcept |
|
template<typename T > |
constexpr const T & | make_const (T &value) noexcept |
|
template<typename T , typename... Ts> |
constexpr std::array< T, sizeof...(Ts)> | to_array (const std::tuple< Ts... > &tuple) noexcept |
|
template<typename T > |
constexpr std::array< T, 0 > | to_array (const std::tuple<> &) noexcept |
|
template<typename T , size_t N> |
constexpr auto | to_tuple (const std::array< T, N > &array) noexcept |
|
template<typename F , typename... Ts> |
constexpr auto | map_to_tuple (type_list< Ts... > list, F &&f) |
|
template<typename T , typename F , typename... Ts> |
constexpr auto | map_to_array (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr void | for_each (type_list< Ts... > list, F &&f) |
|
template<typename R , typename F , typename... Ts> |
constexpr R | accumulate (type_list<>, F &&, R &&initial_value) |
|
template<typename R , typename F , typename T , typename... Ts> |
constexpr auto | accumulate (type_list< T, Ts... >, F &&f, R &&initial_value) |
|
template<typename F , typename... Ts> |
constexpr size_t | count_if (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr auto | filter (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr auto | find_first (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr auto | find_one (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr auto | contains (type_list< Ts... > list, F &&f) |
|
template<typename... Ts, typename F > |
constexpr auto | apply (type_list< Ts... >, F &&f) |
|
template<size_t N, typename... Ts> |
constexpr auto & | get (std::tuple< Ts... > &ts) noexcept |
|
template<size_t N, typename... Ts> |
constexpr const auto & | get (const std::tuple< Ts... > &ts) noexcept |
|
template<typename T , typename... Ts> |
constexpr T & | get (std::tuple< Ts... > &ts) noexcept |
|
template<typename T , typename... Ts> |
constexpr const T & | get (const std::tuple< Ts... > &ts) noexcept |
|
template<template< typename... > typename T, typename... Ts> |
constexpr auto & | get_instance (std::tuple< Ts... > &ts) noexcept |
|
template<template< typename... > typename T, typename... Ts> |
constexpr const auto & | get_instance (const std::tuple< Ts... > &ts) noexcept |
|
Contains utility types and functions for working with those types.