SoPlex Documentation
Loading...
Searching...
No Matches
ranges.h File Reference
#include <type_traits>
#include "format.h"

Go to the source code of this file.

Classes

struct  formatting_base< Char >
 
struct  formatting_range< Char, Enable >
 
struct  formatting_tuple< Char, Enable >
 
class  is_like_std_string< T >
 Return true value if T has std::string interface, like std::string_view. More...
 
struct  is_like_std_string< fmt::basic_string_view< Char > >
 
struct  conditional_helper< Ts >
 
struct  is_range_< T, _ >
 
struct  is_range_< T, conditional_t< false, conditional_helper< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end())>, void > >
 
class  is_tuple_like_< T >
 tuple_size and tuple_element check. More...
 
struct  integer_sequence< T, N >
 
struct  make_integer_sequence< T, N, Ns >
 
struct  make_integer_sequence< T, 0, Ns... >
 
struct  is_tuple_like< T >
 
struct  formatter< TupleT, Char, enable_if_t< fmt::is_tuple_like< TupleT >::value > >
 
struct  formatter< TupleT, Char, enable_if_t< fmt::is_tuple_like< TupleT >::value > >::format_each< FormatContext >
 
struct  is_range< T, Char >
 
struct  formatter< RangeT, Char, enable_if_t< fmt::is_range< RangeT, Char >::value > >
 
struct  tuple_arg_join< Char, T >
 
struct  formatter< tuple_arg_join< Char, T... >, Char >
 

Namespaces

namespace  internal
 

Macros

#define FMT_RANGE_OUTPUT_LENGTH_LIMIT   256
 

Typedefs

template<std::size_t... N>
using index_sequence = integer_sequence<std::size_t, N...>
 
template<std::size_t N>
using make_index_sequence = make_integer_sequence<std::size_t, N>
 

Functions

template<typename RangeT , typename OutputIterator >
OutputIterator copy (const RangeT &range, OutputIterator out)
 
template<typename OutputIterator >
OutputIterator copy (const char *str, OutputIterator out)
 
template<typename OutputIterator >
OutputIterator copy (char ch, OutputIterator out)
 
template<class Tuple , class F , size_t... Is>
void for_each (index_sequence< Is... >, Tuple &&tup, F &&f) FMT_NOEXCEPT
 
template<class T >
FMT_CONSTEXPR make_index_sequence< std::tuple_size< T >::value > get_indexes (T const &)
 
template<class Tuple , class F >
void for_each (Tuple &&tup, F &&f)
 
template<typename Arg , FMT_ENABLE_IF(!is_like_std_string< typename std::decay< Arg >::type >::value) >
FMT_CONSTEXPR const char * format_str_quoted (bool add_space, const Arg &)
 
FMT_CONSTEXPR const char * format_str_quoted (bool add_space, const char *)
 
FMT_CONSTEXPR const wchar_t * format_str_quoted (bool add_space, const wchar_t *)
 
FMT_CONSTEXPR const char * format_str_quoted (bool add_space, const char)
 
FMT_CONSTEXPR const wchar_t * format_str_quoted (bool add_space, const wchar_t)
 
template<typename... T>
FMT_CONSTEXPR tuple_arg_join< char, T... > join (const std::tuple< T... > &tuple, string_view sep)
 
template<typename... T>
FMT_CONSTEXPR tuple_arg_join< wchar_t, T... > join (const std::tuple< T... > &tuple, wstring_view sep)
 

Macro Definition Documentation

◆ FMT_RANGE_OUTPUT_LENGTH_LIMIT

#define FMT_RANGE_OUTPUT_LENGTH_LIMIT   256

Definition at line 20 of file ranges.h.

Function Documentation

◆ join() [1/2]

template<typename... T>
FMT_CONSTEXPR tuple_arg_join< char, T... > join ( const std::tuple< T... > & tuple,
string_view sep )

\rst Returns an object that formats tuple with elements separated by sep.

Example**::

std::tuple<int, char> t = {1, 'a'}; fmt::print("{}", fmt::join(t, ", ")); Output: "1, a" \endrst

Definition at line 352 of file ranges.h.

◆ join() [2/2]

template<typename... T>
FMT_CONSTEXPR tuple_arg_join< wchar_t, T... > join ( const std::tuple< T... > & tuple,
wstring_view sep )

Definition at line 358 of file ranges.h.