]> Dogcows Code - chaz/yoink/blob - src/stlplus/persistence/persistent_string.hpp
archiving support for releases
[chaz/yoink] / src / stlplus / persistence / persistent_string.hpp
1 #ifndef STLPLUS_PERSISTENT_STRING
2 #define STLPLUS_PERSISTENT_STRING
3 ////////////////////////////////////////////////////////////////////////////////
4
5 // Author: Andy Rushton
6 // Copyright: (c) Southampton University 1999-2004
7 // (c) Andy Rushton 2004-2009
8 // License: BSD License, see ../docs/license.html
9
10 // Persistence for STL strings
11
12 ////////////////////////////////////////////////////////////////////////////////
13 #include "persistence_fixes.hpp"
14 #include "persistent_contexts.hpp"
15 #include <string>
16
17 ////////////////////////////////////////////////////////////////////////////////
18
19 namespace stlplus
20 {
21
22 // basic_string
23
24 template<typename charT, typename traits, typename allocator, typename D>
25 void dump_basic_string(dump_context&, const std::basic_string<charT,traits,allocator>& data, D dump_fn)
26 throw(persistent_dump_failed);
27
28 template<typename charT, typename traits, typename allocator, typename R>
29 void restore_basic_string(restore_context&, std::basic_string<charT,traits,allocator>& data, R restore_fn)
30 throw(persistent_restore_failed);
31
32 // string
33
34 void dump_string(dump_context&, const std::string& data)
35 throw(persistent_dump_failed);
36
37 void restore_string(restore_context&, std::string& data)
38 throw(persistent_restore_failed);
39
40
41 // Note: persistence of wstring not supported because it is too weakly defined and messy
42 // decide on a byte-wide encoding of wide strings (e.g. UTF8) and use the string persistence on that
43
44 } // end namespace stlplus
45
46 ////////////////////////////////////////////////////////////////////////////////
47 #include "persistent_string.tpp"
48 #endif
This page took 0.030343 seconds and 4 git commands to generate.