|
| 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 types to strings. 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> |
| constexpr auto | concat_impl (std::index_sequence< I... >, S &&... ins) -> string |
| |
| template<typename CharT > |
| constexpr auto | to_int_type (CharT ch) |
| |
| template<typename CharT , typename IntT > |
| constexpr auto | to_char_type (IntT ch) |
| |
| constexpr auto | tolower (char ch) |
| |
| constexpr auto | towlower (wchar_t ch) |
| |
| constexpr auto | toupper (char ch) |
| |
| constexpr 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.