VIPRA Documentation
Loading...
Searching...
No Matches
detail::arg_mapper< Context > Struct Template Reference

Classes

struct  formattable
 

Public Types

using char_type = typename Context::char_type
 

Public Member Functions

FMT_MAP_API auto map (signed char val) -> int
 
FMT_MAP_API auto map (unsigned char val) -> unsigned
 
FMT_MAP_API auto map (short val) -> int
 
FMT_MAP_API auto map (unsigned short val) -> unsigned
 
FMT_MAP_API auto map (int val) -> int
 
FMT_MAP_API auto map (unsigned val) -> unsigned
 
FMT_MAP_API auto map (long val) -> long_type
 
FMT_MAP_API auto map (unsigned long val) -> ulong_type
 
FMT_MAP_API auto map (long long val) -> long long
 
FMT_MAP_API auto map (unsigned long long val) -> unsigned long long
 
FMT_MAP_API auto map (int128_opt val) -> int128_opt
 
FMT_MAP_API auto map (uint128_opt val) -> uint128_opt
 
FMT_MAP_API auto map (bool val) -> bool
 
template<typename T, FMT_ENABLE_IF(std::is_same< T, char >::value|| std::is_same< T, char_type >::value)>
FMT_MAP_API auto map (T val) -> char_type
 
template<typename T, enable_if_t<(std::is_same< T, wchar_t >::value||std::is_same< T, char16_t >::value||std::is_same< T, char32_t >::value) &&!std::is_same< T, char_type >::value, int > = 0>
FMT_MAP_API auto map (T) -> unformattable_char
 
FMT_MAP_API auto map (float val) -> float
 
FMT_MAP_API auto map (double val) -> double
 
FMT_MAP_API auto map (long double val) -> long double
 
FMT_MAP_API auto map (char_type *val) -> const char_type *
 
FMT_MAP_API auto map (const char_type *val) -> const char_type *
 
template<typename T, typename Char = char_t<T>, FMT_ENABLE_IF(std::is_same< Char, char_type >::value && !std::is_pointer< T >::value)>
FMT_MAP_API auto map (const T &val) -> basic_string_view< Char >
 
template<typename T, typename Char = char_t<T>, FMT_ENABLE_IF(!std::is_same< Char, char_type >::value && !std::is_pointer< T >::value)>
FMT_MAP_API auto map (const T &) -> unformattable_char
 
FMT_MAP_API auto map (void *val) -> const void *
 
FMT_MAP_API auto map (const void *val) -> const void *
 
FMT_MAP_API auto map (volatile void *val) -> const void *
 
FMT_MAP_API auto map (const volatile void *val) -> const void *
 
FMT_MAP_API auto map (std::nullptr_t val) -> const void *
 
template<typename T, FMT_ENABLE_IF( std::is_pointer< T >::value||std::is_member_pointer< T >::value|| std::is_function< typename std::remove_pointer< T >::type >::value||(std::is_array< T >::value && !std::is_convertible< T, const char_type * >::value))>
FMT_CONSTEXPR auto map (const T &) -> unformattable_pointer
 
template<typename T, std::size_t N, FMT_ENABLE_IF(!std::is_same< T, wchar_t >::value)>
FMT_MAP_API auto map (const T(&values)[N]) -> const T(&)[N]
 
template<typename T, typename U = format_as_t<T>, FMT_ENABLE_IF(std::is_arithmetic< U >::value)>
FMT_MAP_API auto map (const T &val) -> decltype(FMT_DECLTYPE_THIS map(U()))
 
template<typename T, FMT_ENABLE_IF(formattable< T >::value)>
FMT_MAP_API auto do_map (T &val) -> T &
 
template<typename T, FMT_ENABLE_IF(!formattable< T >::value)>
FMT_MAP_API auto do_map (T &) -> unformattable
 
template<typename T, typename U = remove_const_t<T>, FMT_ENABLE_IF((std::is_class< U >::value||std::is_enum< U >::value|| std::is_union< U >::value||std::is_fundamental< U >::value) && !has_to_string_view< U >::value &&!is_char< U >::value && !is_named_arg< U >::value &&!std::is_integral< U >::value && !std::is_arithmetic< format_as_t< U > >::value)>
FMT_MAP_API auto map (T &val) -> decltype(FMT_DECLTYPE_THIS do_map(val))
 
template<typename T, FMT_ENABLE_IF(is_named_arg< T >::value)>
FMT_MAP_API auto map (const T &named_arg) -> decltype(FMT_DECLTYPE_THIS map(named_arg.value))
 
auto map (...) -> unformattable
 

The documentation for this struct was generated from the following file: