1 #ifndef STLEMITTER_H_62B23520_7C8E_11DE_8A39_0800200C9A66
2 #define STLEMITTER_H_62B23520_7C8E_11DE_8A39_0800200C9A66
4 #if !defined(__GNUC__) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4) // GCC supports "pragma once" correctly since 3.4
16 inline Emitter
& operator << (Emitter
& emitter
, const std::vector
<T
>& v
) {
17 typedef typename
std::vector
<T
> vec
;
19 for(typename
vec::const_iterator it
=v
.begin();it
!=v
.end();++it
)
26 inline Emitter
& operator << (Emitter
& emitter
, const std::list
<T
>& v
) {
27 typedef typename
std::list
<T
> list
;
29 for(typename
list::const_iterator it
=v
.begin();it
!=v
.end();++it
)
35 template <typename K
, typename V
>
36 inline Emitter
& operator << (Emitter
& emitter
, const std::map
<K
, V
>& m
) {
37 typedef typename
std::map
<K
, V
> map
;
39 for(typename
map::const_iterator it
=m
.begin();it
!=m
.end();++it
)
40 emitter
<< Key
<< it
->first
<< Value
<< it
->second
;
46 #endif // STLEMITTER_H_62B23520_7C8E_11DE_8A39_0800200C9A66