HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
detail::arg_mapper< Context > Struct Template Reference

#include <core.h>

Classes

struct  formattable
 

Public Types

using char_type = typename Context::char_type
 

Public Member Functions

FMT_CONSTEXPR FMT_INLINE auto map (signed char val) -> int
 
FMT_CONSTEXPR FMT_INLINE auto map (unsigned char val) -> unsigned
 
FMT_CONSTEXPR FMT_INLINE auto map (short val) -> int
 
FMT_CONSTEXPR FMT_INLINE auto map (unsigned short val) -> unsigned
 
FMT_CONSTEXPR FMT_INLINE auto map (int val) -> int
 
FMT_CONSTEXPR FMT_INLINE auto map (unsigned val) -> unsigned
 
FMT_CONSTEXPR FMT_INLINE auto map (long val) -> long_type
 
FMT_CONSTEXPR FMT_INLINE auto map (unsigned long val) -> ulong_type
 
FMT_CONSTEXPR FMT_INLINE auto map (long long val) -> long long
 
FMT_CONSTEXPR FMT_INLINE auto map (unsigned long long val) -> unsigned long long
 
FMT_CONSTEXPR FMT_INLINE auto map (int128_opt val) -> int128_opt
 
FMT_CONSTEXPR FMT_INLINE auto map (uint128_opt val) -> uint128_opt
 
FMT_CONSTEXPR FMT_INLINE 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_CONSTEXPR FMT_INLINE 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_CONSTEXPR FMT_INLINE auto map (T) -> unformattable_char
 
FMT_CONSTEXPR FMT_INLINE auto map (float val) -> float
 
FMT_CONSTEXPR FMT_INLINE auto map (double val) -> double
 
FMT_CONSTEXPR FMT_INLINE auto map (long double val) -> long double
 
FMT_CONSTEXPR FMT_INLINE auto map (char_type *val) -> const char_type *
 
FMT_CONSTEXPR FMT_INLINE auto map (const char_type *val) -> const char_type *
 
template<typename T , FMT_ENABLE_IF(is_string< T >::value &&!std::is_pointer< T >::value &&std::is_same< char_type, char_t< T >>::value) >
FMT_CONSTEXPR FMT_INLINE auto map (const T &val) -> basic_string_view< char_type >
 
template<typename T , FMT_ENABLE_IF(is_string< T >::value &&!std::is_pointer< T >::value &&!std::is_same< char_type, char_t< T >>::value) >
FMT_CONSTEXPR FMT_INLINE auto map (const T &) -> unformattable_char
 
FMT_CONSTEXPR FMT_INLINE auto map (void *val) -> const void *
 
FMT_CONSTEXPR FMT_INLINE auto map (const void *val) -> const void *
 
FMT_CONSTEXPR FMT_INLINE 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_convertible< const T &, const void * >::value &&!std::is_convertible< const T &, const char_type * >::value &&!has_formatter< T, Context >::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_CONSTEXPR FMT_INLINE 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_CONSTEXPR FMT_INLINE auto map (const T &val) -> decltype(this->map(U()))
 
template<typename T , FMT_ENABLE_IF(formattable< T >::value) >
FMT_CONSTEXPR FMT_INLINE auto do_map (T &&val) -> T &
 
template<typename T , FMT_ENABLE_IF(!formattable< T >::value) >
FMT_CONSTEXPR FMT_INLINE auto do_map (T &&) -> unformattable
 
template<typename T , typename U = remove_cvref_t<T>, FMT_ENABLE_IF((std::is_class< U >::value||std::is_enum< U >::value||std::is_union< U >::value)&&!is_string< U >::value &&!is_char< U >::value &&!is_named_arg< U >::value &&!std::is_arithmetic< format_as_t< U >>::value) >
FMT_CONSTEXPR FMT_INLINE auto map (T &&val) -> decltype(this->do_map(std::forward< T >(val)))
 
template<typename T , FMT_ENABLE_IF(is_named_arg< T >::value) >
FMT_CONSTEXPR FMT_INLINE auto map (const T &named_arg) -> decltype(this->map(named_arg.value))
 
auto map (...) -> unformattable
 

Detailed Description

template<typename Context>
struct detail::arg_mapper< Context >

Definition at line 1330 of file core.h.

Member Typedef Documentation

template<typename Context>
using detail::arg_mapper< Context >::char_type = typename Context::char_type

Definition at line 1331 of file core.h.

Member Function Documentation

template<typename Context>
template<typename T , FMT_ENABLE_IF(formattable< T >::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::do_map ( T &&  val) -> T&
inline

Definition at line 1445 of file core.h.

template<typename Context>
template<typename T , FMT_ENABLE_IF(!formattable< T >::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::do_map ( T &&  ) -> unformattable
inline

Definition at line 1449 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( signed char  val) -> int
inline

Definition at line 1333 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( unsigned char  val) -> unsigned
inline

Definition at line 1334 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( short  val) -> int
inline

Definition at line 1337 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( unsigned short  val) -> unsigned
inline

Definition at line 1338 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( int  val) -> int
inline

Definition at line 1341 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( unsigned  val) -> unsigned
inline

Definition at line 1342 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( long  val) -> long_type
inline

Definition at line 1343 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( unsigned long  val) -> ulong_type
inline

Definition at line 1344 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( long long  val) -> long long
inline

Definition at line 1347 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( unsigned long long  val) -> unsigned long long
inline

Definition at line 1348 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( int128_opt  val) -> int128_opt
inline

Definition at line 1352 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( uint128_opt  val) -> uint128_opt
inline

Definition at line 1355 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( bool  val) -> bool
inline

Definition at line 1358 of file core.h.

template<typename Context>
template<typename T , FMT_ENABLE_IF(std::is_same< T, char >::value||std::is_same< T, char_type >::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( val) -> char_type
inline

Definition at line 1362 of file core.h.

template<typename Context>
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_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( ) -> unformattable_char
inline

Definition at line 1373 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( float  val) -> float
inline

Definition at line 1377 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( double  val) -> double
inline

Definition at line 1378 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( long double  val) -> long double
inline

Definition at line 1379 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( char_type val) -> const char_type*
inline

Definition at line 1383 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( const char_type val) -> const char_type*
inline

Definition at line 1386 of file core.h.

template<typename Context>
template<typename T , FMT_ENABLE_IF(is_string< T >::value &&!std::is_pointer< T >::value &&std::is_same< char_type, char_t< T >>::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( const T &  val) -> basic_string_view<char_type>
inline

Definition at line 1392 of file core.h.

template<typename Context>
template<typename T , FMT_ENABLE_IF(is_string< T >::value &&!std::is_pointer< T >::value &&!std::is_same< char_type, char_t< T >>::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( const T &  ) -> unformattable_char
inline

Definition at line 1399 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( void val) -> const void*
inline

Definition at line 1403 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( const void val) -> const void*
inline

Definition at line 1404 of file core.h.

template<typename Context>
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( std::nullptr_t  val) -> const void*
inline

Definition at line 1407 of file core.h.

template<typename Context>
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_convertible< const T &, const void * >::value &&!std::is_convertible< const T &, const char_type * >::value &&!has_formatter< T, Context >::value)) >
FMT_CONSTEXPR auto detail::arg_mapper< Context >::map ( const T &  ) -> unformattable_pointer
inline

Definition at line 1421 of file core.h.

template<typename Context>
template<typename T , std::size_t N, FMT_ENABLE_IF(!std::is_same< T, wchar_t >::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( const T(&)  values[N]) -> const T (&)[N]
inline

Definition at line 1427 of file core.h.

template<typename Context>
template<typename T , typename U = format_as_t<T>, FMT_ENABLE_IF(std::is_arithmetic< U >::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( const T &  val) -> decltype(this->map(U()))
inline

Definition at line 1434 of file core.h.

template<typename Context>
template<typename T , typename U = remove_cvref_t<T>, FMT_ENABLE_IF((std::is_class< U >::value||std::is_enum< U >::value||std::is_union< U >::value)&&!is_string< U >::value &&!is_char< U >::value &&!is_named_arg< U >::value &&!std::is_arithmetic< format_as_t< U >>::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( T &&  val) -> decltype(this->do_map(std::forward<T>(val)))
inline

Definition at line 1459 of file core.h.

template<typename Context>
template<typename T , FMT_ENABLE_IF(is_named_arg< T >::value) >
FMT_CONSTEXPR FMT_INLINE auto detail::arg_mapper< Context >::map ( const T &  named_arg) -> decltype(this->map(named_arg.value))
inline

Definition at line 1465 of file core.h.

template<typename Context>
auto detail::arg_mapper< Context >::map (   ...) -> unformattable
inline

Definition at line 1470 of file core.h.


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