All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Enumerations | Functions
Aux::Impl Namespace Reference

Classes

struct  PrintableCategoryTag
 
struct  IsIteratableHelper
 
struct  IsPairHelper
 
struct  IsPairHelper< std::pair< T1, T2 > >
 
struct  IsTupleHelper
 
struct  IsTupleHelper< std::tuple< T...> >
 
struct  IsStreamableHelper
 
struct  printTupleHelper
 
struct  printTupleHelper< Tuple, I, I >
 

Typedefs

using IteratableTag = PrintableCategoryTag< PrintableCategory::Iteratable >
 
using PairTag = PrintableCategoryTag< PrintableCategory::Pair >
 
using TupleTag = PrintableCategoryTag< PrintableCategory::Tuple >
 
using StreamableTag = PrintableCategoryTag< PrintableCategory::Streamable >
 
using UnprintableTag = PrintableCategoryTag< PrintableCategory::Unprintable >
 

Enumerations

enum  PrintableCategory {
  PrintableCategory::Unprintable, PrintableCategory::Iteratable, PrintableCategory::Pair, PrintableCategory::Tuple,
  PrintableCategory::Streamable
}
 

Functions

template<typename T >
constexpr bool isStreamable ()
 
template<typename T >
constexpr bool isPair ()
 
template<typename T >
constexpr bool isTuple ()
 
template<typename T >
constexpr bool isIteratable ()
 
template<typename T >
constexpr PrintableCategory getPrintableCategory ()
 
template<typename T , typename... Args>
void printToStream (std::ostream &stream, const T &, const Args &...)
 
void printToStream (std::ostream &)
 
template<typename T >
void printToStreamTagged (std::ostream &stream, const T &, IteratableTag)
 
template<typename T , typename... Args>
void printToStream (std::ostream &stream, const T &arg, const Args &...args)
 
std::tuple
< std::string::const_iterator,
bool > 
printFormatPartToStream (std::ostream &stream, std::string::const_iterator begin, std::string::const_iterator end) -> std::tuple< std::string::const_iterator, bool >
 Write the formatstring until the first occurance of "%s" to stream, '%' will be replaced by ''. More...
 
void printToStreamF (std::ostream &stream, std::string::const_iterator format_begin, std::string::const_iterator format_end)
 
template<typename T , typename... Args>
void printToStreamF (std::ostream &stream, std::string::const_iterator format_begin, std::string::const_iterator format_end, const T &arg, const Args &...args)
 

Typedef Documentation

Enumeration Type Documentation

Enumerator
Unprintable 
Iteratable 
Pair 
Tuple 
Streamable 

Function Documentation

template<typename T >
constexpr PrintableCategory Aux::Impl::getPrintableCategory ( )
template<typename T >
constexpr bool Aux::Impl::isIteratable ( )
template<typename T >
constexpr bool Aux::Impl::isPair ( )
template<typename T >
constexpr bool Aux::Impl::isStreamable ( )
template<typename T >
constexpr bool Aux::Impl::isTuple ( )
auto Aux::Impl::printFormatPartToStream ( std::ostream &  stream,
std::string::const_iterator  begin,
std::string::const_iterator  end 
) -> std::tuple< std::string::const_iterator, bool >
inline

Write the formatstring until the first occurance of "%s" to stream, '%' will be replaced by ''.

Returns
The iterator that points one after the last consumed character and whether a further argument should be printed.
template<typename T , typename... Args>
void Aux::Impl::printToStream ( std::ostream &  stream,
const T &  ,
const Args &  ... 
)
void Aux::Impl::printToStream ( std::ostream &  )
inline
template<typename T , typename... Args>
void Aux::Impl::printToStream ( std::ostream &  stream,
const T &  arg,
const Args &...  args 
)
void Aux::Impl::printToStreamF ( std::ostream &  stream,
std::string::const_iterator  format_begin,
std::string::const_iterator  format_end 
)
inline
template<typename T , typename... Args>
void Aux::Impl::printToStreamF ( std::ostream &  stream,
std::string::const_iterator  format_begin,
std::string::const_iterator  format_end,
const T &  arg,
const Args &...  args 
)
template<typename T >
void Aux::Impl::printToStreamTagged ( std::ostream &  stream,
const T &  arg,
IteratableTag   
)