The Gaudi Framework  v30r3 (a5ef0a68)
ToStream.h File Reference

implementation of various functions for streaming. More...

#include <array>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <set>
#include <sstream>
#include <string>
#include <type_traits>
#include <unordered_set>
#include <vector>
#include "GaudiKernel/HashMap.h"
#include "GaudiKernel/Map.h"
#include "GaudiKernel/SerializeSTL.h"
#include "GaudiKernel/VectorMap.h"
Include dependency graph for ToStream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Gaudi::Utils::TuplePrinter< Tuple, N >
 
struct  Gaudi::Utils::TuplePrinter< Tuple, 1 >
 

Namespaces

 Gaudi
 Helper functions to set/get the application return code.
 
 Gaudi::Utils
 

Functions

template<class TYPE >
std::ostreamGaudi::Utils::toStream (const TYPE &obj, std::ostream &s)
 the generic implementation of the printout to the std::ostream More...
 
template<class ITERATOR >
std::ostreamGaudi::Utils::toStream (ITERATOR first, ITERATOR last, std::ostream &s, const std::string &open, const std::string &close, const std::string &delim)
 the helper function to print the sequence More...
 
std::ostreamGaudi::Utils::toStream (const std::string &obj, std::ostream &s)
 the printtout of the strings. More...
 
std::ostreamGaudi::Utils::toStream (const bool obj, std::ostream &s)
 the printout of boolean values "a'la Python" More...
 
std::ostreamGaudi::Utils::toStream (const float obj, std::ostream &s, const int prec=6)
 the printout of float values with the reasonable precision More...
 
std::ostreamGaudi::Utils::toStream (const double obj, std::ostream &s, const int prec=8)
 the printout of double values with the reasonable precision More...
 
std::ostreamGaudi::Utils::toStream (const long double obj, std::ostream &s, const int prec=10)
 the printout of long double values with the reasonable precision More...
 
template<class KTYPE , class VTYPE >
std::ostreamGaudi::Utils::toStream (const std::pair< KTYPE, VTYPE > &obj, std::ostream &s)
 the partial template specialization of std::pair<KTYPE,VTYPE> printout the pair is printed a'la Python tuple: " ( a , b )" More...
 
template<class TYPE , class ALLOCATOR >
std::ostreamGaudi::Utils::toStream (const std::vector< TYPE, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::vector<TYPE,ALLOCATOR> printout. More...
 
template<class TYPE , class ALLOCATOR >
std::ostreamGaudi::Utils::toStream (const std::list< TYPE, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::list<TYPE,ALLOCATOR> printout. More...
 
template<class TYPE , class CMP , class ALLOCATOR >
std::ostreamGaudi::Utils::toStream (const std::set< TYPE, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::set<TYPE,CMP,ALLOCATOR> printout. More...
 
template<class TYPE , class HASH , class CMP , class ALLOCATOR >
std::ostreamGaudi::Utils::toStream (const std::unordered_set< TYPE, HASH, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::unordered_set<TYPE,HASH,CMP,ALLOCATOR> printout. More...
 
template<class KTYPE , class VTYPE , class CMP , class ALLOCATOR >
std::ostreamGaudi::Utils::toStream (const std::map< KTYPE, VTYPE, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::map<KTYPE,VTYPE,CMP,ALLOCATOR> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )" More...
 
template<class KTYPE , class VTYPE , class CMP , class ALLOCATOR >
std::ostreamGaudi::Utils::toStream (const GaudiUtils::VectorMap< KTYPE, VTYPE, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of GaudiUtils::VectorMap<KTYPE,VTYPE,CMP,ALLOCATOR> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )" More...
 
template<class KTYPE , class VTYPE , class MAP >
std::ostreamGaudi::Utils::toStream (const GaudiUtils::Map< KTYPE, VTYPE, MAP > &obj, std::ostream &s)
 the partial template specialization of GaudiUtils::Map<KTYPE,VTYPE,MAP> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )" More...
 
template<class KTYPE , class VTYPE , class HASH , class MAP >
std::ostreamGaudi::Utils::toStream (const GaudiUtils::HashMap< KTYPE, VTYPE, HASH, MAP > &obj, std::ostream &s)
 the partial template specialization of GaudiUtils::HashMap<KTYPE,VTYPE,HASH,MAP> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )" More...
 
template<class TYPE , unsigned int N>
std::ostreamGaudi::Utils::toStream (const TYPE(&obj)[N], std::ostream &s)
 the specialization for C-arrays, a'la python tuple More...
 
template<class TYPE , std::size_t N>
std::ostreamGaudi::Utils::toStream (const std::array< TYPE, N > &obj, std::ostream &s)
 the specialization for std::array, a'la python tuple More...
 
template<unsigned int N>
std::ostreamGaudi::Utils::toStream (const char(&obj)[N], std::ostream &s)
 the specialization for C-string, a'la python tuple More...
 
std::ostreamGaudi::Utils::toStream (const char *obj, std::ostream &s)
 the specialization for C-string, a'la python tuple More...
 
template<typename... Args>
std::ostreamGaudi::Utils::toStream (const std::tuple< Args... > &tuple, std::ostream &s)
 the helper function to print the tuple More...
 
template<class TYPE >
std::string Gaudi::Utils::toString (const TYPE &obj)
 the generic implementation of the type conversion to the string More...
 

Detailed Description

implementation of various functions for streaming.

this functionality is essential for usage of various types as property for the various Gaudi components

Attention
the implementation of the specific specializations must be done before the inclusion of this file
Todo:
ToStream.h : reimplement in terms of functors, to allow easier specializations

Definition in file ToStream.h.