Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
Serializer Struct Reference

#include <Serializer.h>

Inheritance diagram for Serializer:
Inheritance graph
[legend]

Public Types

typedef std::map< char, const char * > conv_map_t
 
typedef int objType
 

Public Member Functions

virtual void writePrefix (std::ostream &ostr, objType type) const
 
virtual void writeSeparator (std::ostream &ostr, objType type) const
 
virtual void writeSuffix (std::ostream &ostr, objType type) const
 
template<class T >
void toStream (std::ostream &ostr, const T &x, objType hint=NONE) const
 Default handler.
 
template<class T >
void toStream (std::ostream &ostr, const std::list< T > &x) const
 
template<class T >
void toStream (std::ostream &ostr, const std::set< T > &x) const
 
template<class K , class V >
void toStream (std::ostream &ostr, const std::map< K, V > &x) const
 
template<class K , class V >
void toStream (std::ostream &ostr, const std::pair< K, V > &x) const
 
template<class K , class V >
void entryToStream (std::ostream &ostr, const std::pair< K, V > &x) const
 This is a map entry.
 
template<class T >
void entryToStream (std::ostream &ostr, const T &x) const
 
template<class T >
void iterableToStream (std::ostream &ostr, const T &x, objType iterableType=NONE) const
 
template<class K , class V >
void pairToStream (std::ostream &ostr, const std::pair< K, V > &x, objType containerType=NONE) const
 
void toStream (std::ostream &ostr, char c) const
 
void toStream (std::ostream &ostr, const char *x) const
 
void toStream (std::ostream &ostr, const std::string &x) const
 
void toStream (std::ostream &ostr, bool x) const
 
void toStream (std::ostream &ostr, const nullptr_t &t) const
 
template<class T >
void toStr (std::string &str, const T &x) const
 Default handler.
 
virtual void floatToStream (std::ostream &ostr, double x) const
 
virtual void intToStream (std::ostream &ostr, int x) const
 
virtual void boolToStream (std::ostream &ostr, bool x) const
 
virtual void nullToStream (std::ostream &ostr) const
 
virtual void charToStream (std::ostream &ostr, char c) const
 
virtual void stringToStream (std::ostream &ostr, const char *x) const
 
virtual void stringToStream (std::ostream &ostr, const std::string &x) const final
 

Static Public Attributes

static const char SINGLE_QUOTE = '\''
 
static const char DOUBLE_QUOTE = '"'
 
static const conv_map_t conversion
 
static const objType NONE =0
 
static const objType KEY =1
 
static const objType VALUE =2
 
static const objType PAIR =KEY|VALUE
 
static const objType LIST =4
 
static const objType SET =8
 
static const objType MAP =16
 
static const objType MAP_KEY =MAP|KEY
 
static const objType MAP_VALUE =MAP|VALUE
 
static const objType MAP_PAIR =MAP|PAIR
 
static const objType TUPLE =64
 
static const objType STRING =128
 

Detailed Description

A newer utility for formatted printing of data structures (basic types, lists, trees)

See also
drain::Sprinter

Member Function Documentation

◆ charToStream()

virtual void charToStream ( std::ostream &  ostr,
char  c 
) const
inlinevirtual

Reimplemented in SimpleSerializer.

Member Data Documentation

◆ conversion

const Serializer::conv_map_t conversion
static
Initial value:
= {
{'\t', "\\t"},
{'\n', "\\n"},
}

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