2 #ifndef vsl_map_io_hxx_ 3 #define vsl_map_io_hxx_ 22 template <
class Key,
class T,
class Compare>
28 for (
typename std::map<Key, T, Compare>::const_iterator iter = v.begin(); iter != v.end(); iter++)
37 template <
class Key,
class T,
class Compare>
50 for (
unsigned i=0; i<map_size; i++)
56 v[first_val] = second_val;
60 std::cerr <<
"I/O ERROR: vsl_b_read(vsl_b_istream&, std::map<K, T>&)\n" 61 <<
" Unknown version number "<< ver <<
'\n';
62 is.is().clear(std::ios::badbit);
69 template <
class Key,
class T,
class Compare>
72 os <<
"Map size: " << v.size() <<
'\n';
74 for (
typename std::map<Key, T, Compare>::const_iterator iter = v.begin();
75 iter != v.end() && i< 5; ++iter,++i)
90 #define VSL_MAP_IO_INSTANTIATE(Key, T, Compare) \ 91 template void vsl_print_summary(std::ostream&, const std::map<Key, T, Compare >&); \ 92 template void vsl_b_write(vsl_b_ostream& s, const std::map<Key, T, Compare >& v); \ 93 template void vsl_b_read(vsl_b_istream& s, std::map<Key, T, Compare >& v) 97 template <
class Key,
class T,
class Compare>
103 for (
typename std::multimap<Key, T, Compare>::const_iterator iter = v.begin();
104 iter != v.end(); iter++)
113 template <
class Key,
class T,
class Compare>
119 unsigned multimap_size;
126 for (
unsigned i=0; i<multimap_size; i++)
132 v.insert( std::make_pair(first_val, second_val));
136 std::cerr <<
"I/O ERROR: vsl_b_read(vsl_b_istream&, std::multimap<K, T>&)\n" 137 <<
" Unknown version number "<< ver <<
'\n';
138 is.is().clear(std::ios::badbit);
145 template <
class Key,
class T,
class Compare>
148 os <<
"multimap size: " << v.size() <<
'\n';
150 for (
typename std::multimap<Key, T, Compare>::const_iterator iter = v.begin();
151 iter != v.end() && i< 5; ++iter,++i)
153 os <<
' ' << i <<
": ";
164 #define VSL_MULTIMAP_IO_INSTANTIATE(Key, T, Compare) \ 165 template void vsl_print_summary(std::ostream&, const std::multimap<Key, T, Compare >&); \ 166 template void vsl_b_write(vsl_b_ostream& s, const std::multimap<Key, T, Compare >& v); \ 167 template void vsl_b_read(vsl_b_istream& s, std::multimap<Key, T, Compare >& v) 169 #endif // vsl_map_io_hxx_ void vsl_print_summary(std::ostream &os, const std::map< Key, T, Compare > &v)
Output a human readable summary to the stream.
A binary output adaptor for any std::ostream.
unsigned short version_no() const
Return the version number of the IO format of the file being read.
std::istream & is() const
A reference to the adaptor's stream.
void vsl_b_read(vsl_b_istream &is, std::map< Key, T, Compare > &v)
Read map from binary stream.
binary IO functions for std::map<Key, T, Compare>
void vsl_indent_inc(std::ostream &os)
Increments current indent for given stream.
Put indents into output streams, to produce more legible printed output.
void vsl_indent_dec(std::ostream &os)
Decrements current indent for given stream.
An adaptor for any std::istream to make it suitable for binary input.
void vsl_b_write(vsl_b_ostream &s, const std::map< Key, T, Compare > &v)
Write map to binary stream.
Set of functions, and objects to perform binary IO.
binary IO functions for std::pair<S, T>