Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v30r3 (a5ef0a68)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SerializeSTL.h File Reference

Provide serialization function (output only) for some common STL classes (vectors, lists, pairs, maps) plus GaudiUtils::Map and GaudiUtils::HashMap. More...

#include "GaudiKernel/HashMap.h"
#include "GaudiKernel/Map.h"
#include <array>
#include <list>
#include <map>
#include <ostream>
#include <utility>
#include <vector>
#include "GaudiKernel/SerializeSTLFwd.h"
Include dependency graph for SerializeSTL.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GaudiUtils::details::IdentityOutputter
 

Namespaces

 GaudiUtils
 Forward declarations for the functions in SerializeSTL.h.
 
 GaudiUtils::details
 

Functions

template<typename Stream , typename Iterator , typename Separator , typename OutputElement = IdentityOutputter>
Stream & GaudiUtils::details::ostream_joiner (Stream &os, Iterator first, Iterator last, Separator sep, OutputElement output=OutputElement{})
 
template<typename Stream , typename Container , typename Separator , typename OutputElement = IdentityOutputter>
Stream & GaudiUtils::details::ostream_joiner (Stream &os, const Container &c, Separator sep, OutputElement output=OutputElement{})
 
template<class T , class ALLOC >
std::ostreamGaudiUtils::operator<< (std::ostream &s, const std::vector< T, ALLOC > &v)
 Serialize an std::vector in a python like format. E.g. "[1, 2, 3]". More...
 
template<class T , std::size_t N>
std::ostreamGaudiUtils::operator<< (std::ostream &s, const std::array< T, N > &v)
 Serialize an std::array in a python like format. E.g. "[1, 2, 3]". More...
 
template<class T , class ALLOC >
std::ostreamGaudiUtils::operator<< (std::ostream &s, const std::list< T, ALLOC > &l)
 Serialize an std::list in a python like format. E.g. "[1, 2, 3]". More...
 
template<class T1 , class T2 >
std::ostreamGaudiUtils::operator<< (std::ostream &s, const std::pair< T1, T2 > &p)
 Serialize an std::list in a python like format. E.g. "(1, 2)". More...
 
template<class T1 , class T2 , class COMP , class ALLOC >
std::ostreamGaudiUtils::operator<< (std::ostream &s, const std::map< T1, T2, COMP, ALLOC > &m)
 Serialize an std::map in a python like format. E.g. "{a: 1, b: 2}". More...
 
template<class K , class T , class M >
std::ostreamGaudiUtils::operator<< (std::ostream &s, const GaudiUtils::Map< K, T, M > &m)
 Serialize a GaudiUtils::Map in a python like format. E.g. "{a: 1, b: 2}". More...
 
template<class K , class T , class H , class M >
std::ostreamGaudiUtils::operator<< (std::ostream &s, const GaudiUtils::HashMap< K, T, H, M > &m)
 Serialize a GaudiUtils::HashMap in a python like format. More...
 

Detailed Description

Provide serialization function (output only) for some common STL classes (vectors, lists, pairs, maps) plus GaudiUtils::Map and GaudiUtils::HashMap.

To use the serializer provided by this file, one should add "using namespace GaudiUtils" (possibly inside the function (scope) calling "<<").

Author
Marco Clemencic (adapted from the code found in LHCbKernel, original author unknown)

Definition in file SerializeSTL.h.