HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
detail Namespace Reference

Namespaces

 digits
 
 dragonbox
 

Classes

struct  bits
 
struct  boundaries
 
class  fp
 
struct  accumulator
 
class  bigint
 
struct  fixed_handler
 
struct  uint128_wrapper
 
struct  fallback_uintptr
 
struct  is_locale
 
struct  is_locale< T, void_t< decltype(T::classic())> >
 
class  formatbuf
 
struct  converter
 
struct  test_stream
 
class  is_streamable
 
struct  fallback_formatter< T, Char, enable_if_t< is_streamable< T, Char >::value > >
 

Typedefs

using uintptr_t = fallback_uintptr
 
template<typename T >
using iterator_t = decltype(std::begin(std::declval< T & >()))
 
template<typename T >
using sentinel_t = decltype(std::end(std::declval< T & >()))
 
template<typename T >
using checked_ptr = T *
 
template<typename OutputIt >
using reserve_iterator = remove_reference_t< decltype(reserve(std::declval< OutputIt & >(), 0))>
 
template<typename T >
using is_fast_float = bool_constant< std::numeric_limits< T >::is_iec559 &&sizeof(T)<=sizeof(double)>
 

Enumerations

enum  round_direction { round_direction::unknown, round_direction::up, round_direction::down }
 
enum  char8_type : unsigned char
 

Functions

FMT_FUNC void assert_fail (const char *file, int line, const char *message)
 
FMT_FUNC void format_error_code (detail::buffer< char > &out, int error_code, string_view message) FMT_NOEXCEPT
 
FMT_FUNC void report_error (format_func func, int error_code, const char *message) FMT_NOEXCEPT
 
void fwrite_fully (const void *ptr, size_t size, size_t count, FILE *stream)
 
template<typename Char >
FMT_FUNC auto thousands_sep_impl (locale_ref loc) -> thousands_sep_result< Char >
 
template<typename Char >
FMT_FUNC Char decimal_point_impl (locale_ref loc)
 
template<>
FMT_FUNC int count_digits< 4 > (detail::fallback_uintptr n)
 
template<int SHIFT = 0>
fp normalize (fp value)
 
bool operator== (fp x, fp y)
 
uint64_t multiply (uint64_t lhs, uint64_t rhs)
 
fp operator* (fp x, fp y)
 
fp get_cached_power (int min_exponent, int &pow10_exponent)
 
round_direction get_round_direction (uint64_t divisor, uint64_t remainder, uint64_t error)
 
uint64_t power_of_10_64 (int exp)
 
template<typename Handler >
FMT_INLINE digits::result grisu_gen_digits (fp value, uint64_t error, int &exp, Handler &handler)
 
template<typename Double >
void fallback_format (Double d, int num_digits, bool binary32, buffer< char > &buf, int &exp10)
 
template<typename T >
int format_float (T value, int precision, float_specs specs, buffer< char > &buf)
 
template<typename T >
int snprintf_float (T value, int precision, float_specs specs, buffer< char > &buf)
 
FMT_FUNC void print (std::FILE *f, string_view text)
 
template<typename Dest , typename Source >
auto bit_cast (const Source &source) -> Dest
 
auto is_big_endian () -> bool
 
auto to_uintptr (const void *p) -> fallback_uintptr
 
template<typename T >
constexpr auto max_value () -> T
 
template<typename T >
constexpr auto num_bits () -> int
 
template<>
constexpr auto num_bits< int128_t > () -> int
 
template<>
constexpr auto num_bits< uint128_t > () -> int
 
template<>
constexpr auto num_bits< fallback_uintptr > () -> int
 
FMT_INLINE void assume (bool condition)
 
template<typename Char >
auto get_data (std::basic_string< Char > &s) -> Char *
 
template<typename Container >
auto get_data (Container &c) -> typename Container::value_type *
 
template<typename T >
auto make_checked (T *p, size_t) -> T *
 
template<typename Container , FMT_ENABLE_IF(is_contiguous< Container >::value) >
auto reserve (std::back_insert_iterator< Container > it, size_t n) -> checked_ptr< typename Container::value_type >
 
template<typename T >
auto reserve (buffer_appender< T > it, size_t n) -> buffer_appender< T >
 
template<typename Iterator >
constexpr auto reserve (Iterator &it, size_t) -> Iterator &
 
template<typename T , typename OutputIt >
constexpr auto to_pointer (OutputIt, size_t) -> T *
 
template<typename T >
auto to_pointer (buffer_appender< T > it, size_t n) -> T *
 
template<typename Container , FMT_ENABLE_IF(is_contiguous< Container >::value) >
auto base_iterator (std::back_insert_iterator< Container > &it, checked_ptr< typename Container::value_type >) -> std::back_insert_iterator< Container >
 
template<typename Iterator >
constexpr auto base_iterator (Iterator, Iterator it) -> Iterator
 
template<typename OutputIt , typename Size , typename T >
FMT_CONSTEXPR auto fill_n (OutputIt out, Size count, const T &value) -> OutputIt
 
template<typename T , typename Size >
FMT_CONSTEXPR20 auto fill_n (T *out, Size count, char value) -> T *
 
template<typename OutChar , typename InputIt , typename OutputIt >
FMT_CONSTEXPR FMT_NOINLINE auto copy_str_noinline (InputIt begin, InputIt end, OutputIt out) -> OutputIt
 
FMT_CONSTEXPR auto utf8_decode (const char *s, uint32_t *c, int *e) -> const char *
 
template<typename F >
FMT_CONSTEXPR void for_each_codepoint (string_view s, F f)
 
template<typename Char >
auto compute_width (basic_string_view< Char > s) -> size_t
 
FMT_CONSTEXPR size_t compute_width (string_view s)
 
auto compute_width (basic_string_view< char8_type > s) -> size_t
 
template<typename Char >
auto code_point_index (basic_string_view< Char > s, size_t n) -> size_t
 
auto code_point_index (basic_string_view< char8_type > s, size_t n) -> size_t
 
template<typename Char , typename Traits >
void_t operator<< (std::basic_ostream< Char, Traits > &, Char)
 
template<typename Char , typename Traits >
void_t operator<< (std::basic_ostream< Char, Traits > &, char)
 
template<typename Traits >
void_t operator<< (std::basic_ostream< char, Traits > &, char)
 
template<typename Traits >
void_t operator<< (std::basic_ostream< char, Traits > &, signed char)
 
template<typename Traits >
void_t operator<< (std::basic_ostream< char, Traits > &, unsigned char)
 
template<typename Char >
void write_buffer (std::basic_ostream< Char > &os, buffer< Char > &buf)
 
template<typename Char , typename T >
void format_value (buffer< Char > &buf, const T &value, locale_ref loc=locale_ref())
 

Typedef Documentation

template<typename T >
using detail::checked_ptr = typedef T*

Definition at line 346 of file format.h.

template<typename T >
using detail::is_fast_float = typedef bool_constant<std::numeric_limits<T>::is_iec559 && sizeof(T) <= sizeof(double)>

Definition at line 569 of file format.h.

template<typename T >
using detail::iterator_t = typedef decltype(std::begin(std::declval<T&>()))

Definition at line 326 of file format.h.

template<typename OutputIt >
using detail::reserve_iterator = typedef remove_reference_t<decltype(reserve(std::declval<OutputIt&>(), 0))>

Definition at line 379 of file format.h.

template<typename T >
using detail::sentinel_t = typedef decltype(std::end(std::declval<T&>()))

Definition at line 327 of file format.h.

Definition at line 295 of file format.h.

Enumeration Type Documentation

enum detail::char8_type : unsigned char

Definition at line 425 of file format.h.

Enumerator
unknown 
up 
down 

Definition at line 600 of file format-inl.h.

Function Documentation

FMT_FUNC void detail::assert_fail ( const char *  file,
int  line,
const char *  message 
)

Definition at line 34 of file format-inl.h.

FMT_INLINE void detail::assume ( bool  condition)

Definition at line 317 of file format.h.

template<typename Container , FMT_ENABLE_IF(is_contiguous< Container >::value) >
auto detail::base_iterator ( std::back_insert_iterator< Container > &  it,
checked_ptr< typename Container::value_type >   
) -> std::back_insert_iterator<Container>
inline

Definition at line 394 of file format.h.

template<typename Iterator >
constexpr auto detail::base_iterator ( Iterator  ,
Iterator  it 
) -> Iterator

Definition at line 401 of file format.h.

template<typename Dest , typename Source >
auto detail::bit_cast ( const Source &  source) -> Dest
inline

Definition at line 261 of file format.h.

template<typename Char >
auto detail::code_point_index ( basic_string_view< Char >  s,
size_t  n 
) -> size_t
inline

Definition at line 551 of file format.h.

auto detail::code_point_index ( basic_string_view< char8_type >  s,
size_t  n 
) -> size_t
inline

Definition at line 557 of file format.h.

template<typename Char >
auto detail::compute_width ( basic_string_view< Char >  s) -> size_t
inline

Definition at line 508 of file format.h.

FMT_CONSTEXPR size_t detail::compute_width ( string_view  s)
inline

Definition at line 513 of file format.h.

auto detail::compute_width ( basic_string_view< char8_type >  s) -> size_t
inline

Definition at line 545 of file format.h.

template<typename OutChar , typename InputIt , typename OutputIt >
FMT_CONSTEXPR FMT_NOINLINE auto detail::copy_str_noinline ( InputIt  begin,
InputIt  end,
OutputIt  out 
) -> OutputIt

Definition at line 429 of file format.h.

Definition at line 140 of file format-inl.h.

template<typename Char >
FMT_FUNC Char detail::decimal_point_impl ( locale_ref  loc)

Definition at line 113 of file format-inl.h.

template<typename Double >
void detail::fallback_format ( Double  d,
int  num_digits,
bool  binary32,
buffer< char > &  buf,
int exp10 
)

Definition at line 2218 of file format-inl.h.

template<typename OutputIt , typename Size , typename T >
FMT_CONSTEXPR auto detail::fill_n ( OutputIt  out,
Size  count,
const T &  value 
) -> OutputIt

Definition at line 408 of file format.h.

template<typename T , typename Size >
FMT_CONSTEXPR20 auto detail::fill_n ( T *  out,
Size  count,
char  value 
) -> T*

Definition at line 414 of file format.h.

template<typename F >
FMT_CONSTEXPR void detail::for_each_codepoint ( string_view  s,
f 
)

Definition at line 484 of file format.h.

FMT_FUNC void detail::format_error_code ( detail::buffer< char > &  out,
int  error_code,
string_view  message 
)

Definition at line 56 of file format-inl.h.

template<typename T >
int detail::format_float ( value,
int  precision,
float_specs  specs,
buffer< char > &  buf 
)

Definition at line 2335 of file format-inl.h.

template<typename Char , typename T >
void detail::format_value ( buffer< Char > &  buf,
const T &  value,
locale_ref  loc = locale_ref() 
)

Definition at line 109 of file ostream.h.

void detail::fwrite_fully ( const void ptr,
size_t  size,
size_t  count,
FILE *  stream 
)
inline

Definition at line 89 of file format-inl.h.

fp detail::get_cached_power ( int  min_exponent,
int pow10_exponent 
)
inline

Definition at line 279 of file format-inl.h.

template<typename Char >
auto detail::get_data ( std::basic_string< Char > &  s) -> Char*
inline

Definition at line 331 of file format.h.

template<typename Container >
auto detail::get_data ( Container &  c) -> typename Container::value_type*
inline

Definition at line 335 of file format.h.

round_direction detail::get_round_direction ( uint64_t  divisor,
uint64_t  remainder,
uint64_t  error 
)
inline

Definition at line 606 of file format-inl.h.

template<typename Handler >
FMT_INLINE digits::result detail::grisu_gen_digits ( fp  value,
uint64_t  error,
int exp,
Handler &  handler 
)

Definition at line 641 of file format-inl.h.

auto detail::is_big_endian ( ) -> bool
inline

Definition at line 268 of file format.h.

template<typename T >
auto detail::make_checked ( T *  p,
size_t   
) -> T*
inline

Definition at line 347 of file format.h.

template<typename T >
constexpr auto detail::max_value ( ) -> T

Definition at line 303 of file format.h.

uint64_t detail::multiply ( uint64_t  lhs,
uint64_t  rhs 
)
inline

Definition at line 258 of file format-inl.h.

template<int SHIFT = 0>
fp detail::normalize ( fp  value)

Definition at line 240 of file format-inl.h.

template<typename T >
constexpr auto detail::num_bits ( ) -> int

Definition at line 306 of file format.h.

template<>
constexpr auto detail::num_bits< fallback_uintptr > ( ) -> int

Definition at line 312 of file format.h.

template<>
constexpr auto detail::num_bits< int128_t > ( ) -> int

Definition at line 310 of file format.h.

template<>
constexpr auto detail::num_bits< uint128_t > ( ) -> int

Definition at line 311 of file format.h.

fp detail::operator* ( fp  x,
fp  y 
)
inline

Definition at line 275 of file format-inl.h.

template<typename Traits >
void_t detail::operator<< ( std::basic_ostream< char, Traits > &  ,
char   
)
template<typename Traits >
void_t detail::operator<< ( std::basic_ostream< char, Traits > &  ,
unsigned  char 
)
template<typename Traits >
void_t detail::operator<< ( std::basic_ostream< char, Traits > &  ,
signed  char 
)
template<typename Char , typename Traits >
void_t detail::operator<< ( std::basic_ostream< Char, Traits > &  ,
Char   
)
template<typename Char , typename Traits >
void_t detail::operator<< ( std::basic_ostream< Char, Traits > &  ,
char   
)
bool detail::operator== ( fp  x,
fp  y 
)
inline

Definition at line 255 of file format-inl.h.

uint64_t detail::power_of_10_64 ( int  exp)
inline

Definition at line 630 of file format-inl.h.

FMT_API void detail::print ( std::FILE *  f,
string_view  text 
)

Definition at line 2579 of file format-inl.h.

FMT_FUNC void detail::report_error ( format_func  func,
int  error_code,
const char *  message 
)

Definition at line 79 of file format-inl.h.

template<typename Container , FMT_ENABLE_IF(is_contiguous< Container >::value) >
auto detail::reserve ( std::back_insert_iterator< Container >  it,
size_t  n 
) -> checked_ptr<typename Container::value_type>
inline

Definition at line 357 of file format.h.

template<typename T >
auto detail::reserve ( buffer_appender< T >  it,
size_t  n 
) -> buffer_appender<T>
inline

Definition at line 366 of file format.h.

template<typename Iterator >
constexpr auto detail::reserve ( Iterator &  it,
size_t   
) -> Iterator&

Definition at line 373 of file format.h.

template<typename T >
int detail::snprintf_float ( value,
int  precision,
float_specs  specs,
buffer< char > &  buf 
)

Definition at line 2398 of file format-inl.h.

template<typename Char >
FMT_FUNC auto detail::thousands_sep_impl ( locale_ref  loc) -> thousands_sep_result<Char>

Definition at line 107 of file format-inl.h.

template<typename T , typename OutputIt >
constexpr auto detail::to_pointer ( OutputIt  ,
size_t   
) -> T*

Definition at line 382 of file format.h.

template<typename T >
auto detail::to_pointer ( buffer_appender< T >  it,
size_t  n 
) -> T*

Definition at line 385 of file format.h.

auto detail::to_uintptr ( const void p) -> fallback_uintptr
inline

Definition at line 296 of file format.h.

FMT_CONSTEXPR auto detail::utf8_decode ( const char *  s,
uint32_t *  c,
int e 
) -> const char*
inline

Definition at line 451 of file format.h.

template<typename Char >
void detail::write_buffer ( std::basic_ostream< Char > &  os,
buffer< Char > &  buf 
)

Definition at line 95 of file ostream.h.