|
struct | apply_impl |
|
struct | arithmetic_type |
| Filter only arithmetic types. More...
|
|
struct | arithmetic_type< T, true > |
| Filter only arithmetic types. More...
|
|
struct | buildiota_impl |
|
struct | buildiota_impl< Array, false > |
|
struct | buildiota_impl< construct_with_size< Container, N >, false > |
|
struct | buildiota_impl< Container, true > |
|
struct | filter_signed |
|
struct | filter_signed< N, true > |
|
struct | filter_unsigned |
|
struct | filter_unsigned< N, true > |
|
struct | next_larger_signed |
|
struct | no_dangle |
|
struct | no_dangle< T && > |
|
struct | node |
|
struct | pointer |
|
struct | pointer< D, T, void_t< typename D::pointer > > |
|
struct | str_type |
| Converts arithmetic types to strings, but provides the identity transformation for all other types. More...
|
|
struct | str_type< char, char > |
| Override for char to avoid conversion to integer. More...
|
|
struct | str_type< char16_t, char16_t > |
| Override for char16_t to avoid conversion to integer. More...
|
|
struct | str_type< char32_t, char32_t > |
| Override for char32_t to avoid conversion to integer. More...
|
|
struct | str_type< T, void > |
| Performs a natural conversion to a stringlike type. More...
|
|
struct | str_type< wchar_t, wchar_t > |
| Override for wchar_t to avoid conversion to integer. More...
|
|
struct | tag |
|
struct | tuple_type |
| Given a std::variant T, provides the member type which is a tuple of the same types. More...
|
|
struct | tuple_type< std::variant< Ts... > > |
| Given a std::variant T, provides the member type which is a tuple of the same types. More...
|
|
struct | type_list |
|
struct | type_map |
|
struct | type_map_el |
|
struct | value |
|
struct | values |
|
struct | values< std::index_sequence< Idxs... >, Ts... > |
|
|
template<typename F , typename... Args, enable_if_t< not std::is_member_pointer< remove_cvref_t< F > >::value, int > = 0> |
constexpr auto | do_invoke (F &&f, Args &&... args) noexcept(noexcept(std::forward< F >(f)(std::forward< Args >(args)...))) -> decltype(auto) |
|
template<typename F , typename Object , typename... Args, enable_if_t< not std::is_pointer< remove_cvref_t< Object > >::value and std::is_member_function_pointer< F >::value, int > = 0> |
constexpr auto | do_invoke (F f, Object &&obj, Args &&... args) noexcept(noexcept((std::forward< Object >(obj).*f)(std::forward< Args >(args)...))) -> decltype(auto) |
|
template<typename F , typename Pointer , typename... Args, enable_if_t< std::is_pointer< Pointer >::value and std::is_member_function_pointer< F >::value, int > = 0> |
constexpr auto | do_invoke (F f, Pointer ptr, Args &&... args) noexcept(noexcept((ptr-> *f)(std::forward< Args >(args)...))) -> decltype(auto) |
|
template<typename Member , typename Object , enable_if_t< not std::is_pointer< remove_cvref_t< Object > >::value and std::is_member_object_pointer< Member >::value, int > = 0> |
constexpr auto | do_invoke (Member mem, Object &&obj) noexcept -> decltype(auto) |
|
template<typename Member , typename Pointer , enable_if_t< std::is_pointer< Pointer >::value and std::is_member_object_pointer< Member >::value, int > = 0> |
constexpr auto | do_invoke (Member mem, Pointer ptr) noexcept -> decltype(auto) |
|
template<typename... Ts> |
constexpr auto | ignore (Ts &&...) noexcept -> void |
|
template<typename T , std::size_t... Is> |
constexpr auto | swap_tuple_impl (T &a, T &b, std::index_sequence< Is... >) noexcept(noexcept(ignore(((void) swap(std::get< Is >(a), std::get< Is >(b)), 0)...))) -> void |
|
constexpr auto | msb (std::uintmax_t x) -> std::uintmax_t |
|
template<typename Num > |
constexpr auto | msb_possible () -> Num |
|
template<typename string , typename... S, std::size_t... I> |
auto | concat_impl (std::index_sequence< I... >, S &&... ins) -> string |
|
template<typename CharT > |
auto | to_int_type (CharT ch) |
|
template<typename CharT , typename IntT > |
auto | to_char_type (IntT ch) |
|
auto | tolower (char ch) |
|
auto | towlower (wchar_t ch) |
|
auto | toupper (char ch) |
|
auto | towupper (wchar_t ch) |
|
constexpr auto | get_hash_order () -> endian |
|
template<typename T , int N, int... I> |
constexpr auto | trim_array (const T(&arr)[N], std::integer_sequence< int, I... >) -> std::array< T, std::integer_sequence< int, I... >::size()> |
| Truncates an array to its first N elements. More...
|
|
template<typename C , typename = decltype(std::declval<C&>().resize(0))> |
auto | calc_resizable (int) noexcept -> std::true_type |
|
template<typename > |
auto | calc_resizable (...) noexcept -> std::false_type |
|
template<typename Variant , typename F , std::size_t... Is> |
constexpr auto | indexed_visitor_impl (std::index_sequence< Is... >) -> auto |
| Generates an array of function pointers which will unwrap the variant and pass the index to the function. More...
|
|
template<typename V , typename F , std::size_t I, std::size_t... Is> |
constexpr decltype(auto) | visit_impl (V &&v, F &&f, std::index_sequence< I, Is... >) |
|
template<typename V , typename F , std::size_t I, std::size_t... Is> |
constexpr void | visit_nop_impl (V &&v, F &&f, std::index_sequence< I, Is... >) |
|
The namespace used for implementation details within kblib.