2 #ifndef GAUDIPROPERTYPARSERS_PARSERVALUETOSTREAM_H 3 #define GAUDIPROPERTYPARSERS_PARSERVALUETOSTREAM_H 1 17 #include <type_traits> 18 #include <unordered_set> 63 template <
class ITERATOR>
79 auto c = ( std::string::npos == obj.
find(
'\'' ) ?
'\'' :
'\"' );
80 return s <<
c << obj <<
c;
122 template <
class KTYPE,
class VTYPE>
125 return toStream( obj.second,
toStream( obj.first, s <<
"( " ) <<
" , " ) <<
" )";
134 template <
class TYPE,
class ALLOCATOR>
146 template <
class TYPE,
class ALLOCATOR>
158 template <
class TYPE,
class CMP,
class ALLOCATOR>
167 template <
class TYPE,
class HASH,
class CMP,
class ALLOCATOR>
180 template <
class KTYPE,
class VTYPE,
class CMP,
class ALLOCATOR>
199 template <
class KTYPE,
class VTYPE,
class CMP,
class ALLOCATOR>
218 template <
class KTYPE,
class VTYPE,
class MAP>
237 template <
class KTYPE,
class VTYPE,
class HASH,
class MAP>
248 template <
class TYPE,
unsigned int N>
251 return toStream( obj, obj + N, s,
"( ",
" )",
" , " );
258 template <
class TYPE, std::
size_t N>
268 template <
unsigned int N>
285 template <
class TYPE>
302 template <
class ITERATOR>
318 template <
class Tuple, std::
size_t N>
327 template <
class Tuple>
341 template <
typename... Args>
344 return TuplePrinter<decltype( tuple ),
sizeof...( Args )>::
toStream( tuple, s <<
" ( " ) <<
" ) ";
355 template <
class TYPE>
359 std::ios::fmtflags orig_flags = s.
flags();
360 s.
setf( std::ios::showpoint );
362 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.