2 #ifndef GAUDIPROPERTYPARSERS_PARSERVALUETOSTREAM_H 3 #define GAUDIPROPERTYPARSERS_PARSERVALUETOSTREAM_H 1 17 #include <type_traits> 18 #include <unordered_set> 61 template <
class ITERATOR>
76 auto c = ( std::string::npos == obj.
find(
'\'' ) ?
'\'' :
'\"' );
77 return s <<
c << obj <<
c;
116 template <
class KTYPE,
class VTYPE>
118 return toStream( obj.second,
toStream( obj.first, s <<
"( " ) <<
" , " ) <<
" )";
127 template <
class TYPE,
class ALLOCATOR>
138 template <
class TYPE,
class ALLOCATOR>
149 template <
class TYPE,
class CMP,
class ALLOCATOR>
157 template <
class TYPE,
class HASH,
class CMP,
class ALLOCATOR>
169 template <
class KTYPE,
class VTYPE,
class CMP,
class ALLOCATOR>
187 template <
class KTYPE,
class VTYPE,
class CMP,
class ALLOCATOR>
205 template <
class KTYPE,
class VTYPE,
class MAP>
223 template <
class KTYPE,
class VTYPE,
class HASH,
class MAP>
233 template <
class TYPE,
unsigned int N>
235 return toStream( obj, obj + N, s,
"( ",
" )",
" , " );
242 template <
class TYPE, std::
size_t N>
251 template <
unsigned int N>
267 template <
class TYPE>
283 template <
class ITERATOR>
299 template <
class Tuple, std::
size_t N>
307 template <
class Tuple>
320 template <
typename... Args>
322 return TuplePrinter<decltype( tuple ),
sizeof...( Args )>::
toStream( tuple, s <<
" ( " ) <<
" ) ";
333 template <
class TYPE>
336 std::ios::fmtflags orig_flags = s.
flags();
337 s.
setf( std::ios::showpoint );
339 s.
flags( orig_flags );
A bit modified version of 'Loki::AssocVector' associative vector from Loki library by Andrei Alexandr...
Extension of the STL map.
std::ostream & 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
static std::ostream & toStream(const Tuple &t, std::ostream &s)
AttribStringParser::Iterator end(const AttribStringParser &)
std::string toString(const TYPE &obj)
the generic implementation of the type conversion to the string
Provide serialization function (output only) for some common STL classes (vectors, lists, pairs, maps) plus GaudiUtils::Map and GaudiUtils::HashMap.
Stream & ostream_joiner(Stream &os, Iterator first, Iterator last, Separator sep, OutputElement output=OutputElement{})
Common class providing an architecture-independent hash map.
static std::ostream & toStream(const Tuple &t, std::ostream &s)
AttribStringParser::Iterator begin(const AttribStringParser &parser)
Helper functions to set/get the application return code.