]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/archive/impl/basic_text_oarchive.ipp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / archive / impl / basic_text_oarchive.ipp
1 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
2 // basic_text_oarchive.ipp:
3
4 // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
5 // Use, modification and distribution is subject to the Boost Software
6 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
8
9 // See http://www.boost.org for updates, documentation, and revision history.
10 #include <string>
11 #include <boost/assert.hpp>
12 #include <cstring>
13
14 #include <boost/config.hpp>
15 #if defined(BOOST_NO_STDC_NAMESPACE)
16 namespace std{
17 using ::memcpy;
18 }
19 #endif
20
21 #include <boost/archive/basic_text_oarchive.hpp>
22
23 namespace boost {
24 namespace archive {
25
26 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
27 // implementation of basic_text_oarchive
28
29 template<class Archive>
30 BOOST_ARCHIVE_OR_WARCHIVE_DECL void
31 basic_text_oarchive<Archive>::newtoken()
32 {
33 switch(delimiter){
34 default:
35 BOOST_ASSERT(false);
36 break;
37 case eol:
38 this->This()->put('\n');
39 delimiter = space;
40 break;
41 case space:
42 this->This()->put(' ');
43 break;
44 case none:
45 delimiter = space;
46 break;
47 }
48 }
49
50 template<class Archive>
51 BOOST_ARCHIVE_OR_WARCHIVE_DECL void
52 basic_text_oarchive<Archive>::init(){
53 // write signature in an archive version independent manner
54 const std::string file_signature(BOOST_ARCHIVE_SIGNATURE());
55 * this->This() << file_signature;
56 // write library version
57 const library_version_type v(BOOST_ARCHIVE_VERSION());
58 * this->This() << v;
59 }
60
61 } // namespace archive
62 } // namespace boost