diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/archive.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/archive.h b/src/archive.h index a2d4c8f..2d652ec 100644 --- a/src/archive.h +++ b/src/archive.h | |||
| @@ -207,6 +207,35 @@ namespace Bu | |||
| 207 | 207 | ||
| 208 | return ar; | 208 | return ar; |
| 209 | } | 209 | } |
| 210 | |||
| 211 | template<typename value> | ||
| 212 | Archive &operator<<( Archive &ar, List<value> &h ) | ||
| 213 | { | ||
| 214 | ar << h.getSize(); | ||
| 215 | for( typename List<value>::iterator i = h.begin(); i != h.end(); i++ ) | ||
| 216 | { | ||
| 217 | ar << (*i); | ||
| 218 | } | ||
| 219 | |||
| 220 | return ar; | ||
| 221 | } | ||
| 222 | |||
| 223 | template<typename value> | ||
| 224 | Archive &operator>>( Archive &ar, List<value> &h ) | ||
| 225 | { | ||
| 226 | h.clear(); | ||
| 227 | uint32_t nSize; | ||
| 228 | ar >> nSize; | ||
| 229 | |||
| 230 | for( uint32_t j = 0; j < nSize; j++ ) | ||
| 231 | { | ||
| 232 | value v; | ||
| 233 | ar >> v; | ||
| 234 | h.append( v ); | ||
| 235 | } | ||
| 236 | |||
| 237 | return ar; | ||
| 238 | } | ||
| 210 | } | 239 | } |
| 211 | 240 | ||
| 212 | #endif | 241 | #endif |
