summaryrefslogtreecommitdiff
path: root/src/archive.h
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2007-08-16 22:43:17 +0000
committerMike Buland <eichlan@xagasoft.com>2007-08-16 22:43:17 +0000
commitda6ebe9bd659916122ee973818c3d1f98ce2e007 (patch)
tree47320cf1e5f3fcc153378d671740236214f1abcc /src/archive.h
parentf1d6b50ac5a014a5cd87a605bd4f4e1e6342ef7d (diff)
downloadlibbu++-da6ebe9bd659916122ee973818c3d1f98ce2e007.tar.gz
libbu++-da6ebe9bd659916122ee973818c3d1f98ce2e007.tar.bz2
libbu++-da6ebe9bd659916122ee973818c3d1f98ce2e007.tar.xz
libbu++-da6ebe9bd659916122ee973818c3d1f98ce2e007.zip
Lists now archive. Yippie!
Diffstat (limited to 'src/archive.h')
-rw-r--r--src/archive.h29
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