The Gaudi Framework  v29r0 (ff2e7097)
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.