Agora  1.2.0
Agora project
ranges.h File Reference
#include <initializer_list>
#include <tuple>
#include <type_traits>
#include "format.h"
Include dependency graph for ranges.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fmt::v8::detail::is_std_string_like< T >
 
struct  fmt::v8::detail::is_std_string_like< fmt::basic_string_view< Char > >
 
class  fmt::v8::detail::is_map< T >
 
class  fmt::v8::detail::is_set< T >
 
struct  fmt::v8::detail::conditional_helper< Ts >
 
struct  fmt::v8::detail::is_range_< T, _ >
 
struct  fmt::v8::detail::has_member_fn_begin_end_t< T, Enable >
 
struct  fmt::v8::detail::has_member_fn_begin_end_t< T, void_t< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end())> >
 
struct  fmt::v8::detail::has_const_begin_end< T, Enable >
 
struct  fmt::v8::detail::has_mutable_begin_end< T, Enable >
 
struct  fmt::v8::detail::has_const_begin_end< T, void_t< decltype(detail::range_begin(std::declval< const remove_cvref_t< T > & >())), decltype(detail::range_end(std::declval< const remove_cvref_t< T > & >()))> >
 
struct  fmt::v8::detail::has_mutable_begin_end< T, void_t< decltype(detail::range_begin(std::declval< T >())), decltype(detail::range_end(std::declval< T >())), enable_if_t< std::is_copy_constructible< T >::value > > >
 
struct  fmt::v8::detail::is_range_< T, void >
 
class  fmt::v8::detail::is_tuple_like_< T >
 
struct  fmt::v8::detail::integer_sequence< T, N >
 
struct  fmt::v8::detail::make_integer_sequence< T, N, Ns >
 
struct  fmt::v8::detail::make_integer_sequence< T, 0, Ns... >
 
struct  fmt::v8::detail::singleton
 
struct  fmt::v8::detail::find_escape_result< Char >
 
struct  fmt::v8::is_tuple_like< T >
 
struct  fmt::v8::formatter< TupleT, Char, enable_if_t< fmt::is_tuple_like< TupleT >::value > >
 
struct  fmt::v8::formatter< TupleT, Char, enable_if_t< fmt::is_tuple_like< TupleT >::value > >::format_each< FormatContext >
 
struct  fmt::v8::is_range< T, Char >
 
struct  fmt::v8::formatter< T, Char, enable_if_t< fmt::is_range< T, Char >::value &&(is_formattable< detail::value_type< T >, Char >::value||detail::has_fallback_formatter< detail::value_type< T >, Char >::value) > >
 
struct  fmt::v8::formatter< T, Char, enable_if_t< detail::is_map< T >::value &&(is_formattable< detail::value_type< T >, Char >::value||detail::has_fallback_formatter< detail::value_type< T >, Char >::value) > >
 
struct  fmt::v8::tuple_join_view< Char, T >
 
struct  fmt::v8::formatter< tuple_join_view< Char, T... >, Char >
 

Namespaces

 fmt
 
 fmt::v8
 
 fmt::v8::detail
 

Macros

#define FMT_DECLTYPE_RETURN(val)
 
#define FMT_TUPLE_JOIN_SPECIFIERS   0
 

Typedefs

template<size_t... N>
using fmt::v8::detail::index_sequence = integer_sequence< size_t, N... >
 
template<size_t N>
using fmt::v8::detail::make_index_sequence = make_integer_sequence< size_t, N >
 
template<typename Range >
using fmt::v8::detail::value_type = remove_cvref_t< decltype(*detail::range_begin(std::declval< Range >()))>
 
template<typename Char , typename... T>
using fmt::v8::tuple_arg_join = tuple_join_view< Char, T... >
 

Functions

template<typename RangeT , typename OutputIterator >
OutputIterator fmt::v8::detail::copy (const RangeT &range, OutputIterator out)
 
template<typename OutputIterator >
OutputIterator fmt::v8::detail::copy (const char *str, OutputIterator out)
 
template<typename OutputIterator >
OutputIterator fmt::v8::detail::copy (char ch, OutputIterator out)
 
template<typename OutputIterator >
OutputIterator fmt::v8::detail::copy (wchar_t ch, OutputIterator out)
 
template<typename T , std::size_t N>
auto fmt::v8::detail::range_begin (const T(&arr)[N]) -> const T *
 
template<typename T , std::size_t N>
auto fmt::v8::detail::range_end (const T(&arr)[N]) -> const T *
 
template<typename T >
auto fmt::v8::detail::range_begin (T &&rng) -> decltype(static_cast< T && >(rng).begin())
 
template<typename T >
auto fmt::v8::detail::range_end (T &&rng) -> decltype(static_cast< T && >(rng).end())
 
template<class Tuple , class F , size_t... Is>
void fmt::v8::detail::for_each (index_sequence< Is... >, Tuple &&tup, F &&f) throw ()
 
template<class T >
make_index_sequence< std::tuple_size< T >::value > fmt::v8::detail::get_indexes (T const &)
 
template<class Tuple , class F >
void fmt::v8::detail::for_each (Tuple &&tup, F &&f)
 
template<typename OutputIt >
OutputIt fmt::v8::detail::write_delimiter (OutputIt out)
 
auto fmt::v8::detail::is_printable (uint16_t x, const singleton *singletons, size_t singletons_size, const unsigned char *singleton_lowers, const unsigned char *normal, size_t normal_size) -> bool
 
auto fmt::v8::detail::is_printable (uint32_t cp) -> bool
 
auto fmt::v8::detail::needs_escape (uint32_t cp) -> bool
 
template<typename Char >
auto fmt::v8::detail::find_escape (const Char *begin, const Char *end) -> find_escape_result< Char >
 
auto fmt::v8::detail::find_escape (const char *begin, const char *end) -> find_escape_result< char >
 
template<typename Char , typename OutputIt >
auto fmt::v8::detail::write_range_entry (OutputIt out, basic_string_view< Char > str) -> OutputIt
 
template<typename Char , typename OutputIt , typename T , enable_if_t<(std::is_convertible< T, std_string_view< char >>::value), int > = 0>
auto fmt::v8::detail::write_range_entry (OutputIt out, const T &str) -> OutputIt
 
template<typename Char , typename OutputIt , typename Arg , enable_if_t<(std::is_same< Arg, Char >::value), int > = 0>
OutputIt fmt::v8::detail::write_range_entry (OutputIt out, const Arg v)
 
template<typename Char , typename OutputIt , typename Arg , enable_if_t<(!is_std_string_like< typename std::decay< Arg >::type >::value &&!std::is_same< Arg, Char >::value), int > = 0>
OutputIt fmt::v8::detail::write_range_entry (OutputIt out, const Arg &v)
 
template<typename... T>
auto fmt::v8::join (const std::tuple< T... > &tuple, string_view sep) -> tuple_join_view< char, T... >
 
template<typename... T>
auto fmt::v8::join (const std::tuple< T... > &tuple, basic_string_view< wchar_t > sep) -> tuple_join_view< wchar_t, T... >
 
template<typename T >
auto fmt::v8::join (std::initializer_list< T > list, string_view sep) -> join_view< const T *, const T * >
 

Macro Definition Documentation

◆ FMT_DECLTYPE_RETURN

#define FMT_DECLTYPE_RETURN (   val)
Value:
->decltype(val) { return val; } \
static_assert( \
true, "")

◆ FMT_TUPLE_JOIN_SPECIFIERS

#define FMT_TUPLE_JOIN_SPECIFIERS   0