blob: a8817d6f8b447cf2fd101c90001f494b3ab5a6f7 [file] [log] [blame]
Brian Silverman88678712018-08-04 23:56:48 -07001#ifndef BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
2#define BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
3
4// MS compatible compilers support #pragma once
5#if defined(_MSC_VER)
6# pragma once
7#endif
8
9/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
10// binary_woarchive.hpp
11
12// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
13// Use, modification and distribution is subject to the Boost Software
14// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
15// http://www.boost.org/LICENSE_1_0.txt)
16
17// See http://www.boost.org for updates, documentation, and revision history.
18
19#include <boost/config.hpp>
20#ifdef BOOST_NO_STD_WSTREAMBUF
21#error "wide char i/o not supported on this platform"
22#else
23
24#include <ostream>
25#include <boost/archive/binary_oarchive_impl.hpp>
26#include <boost/archive/detail/register_archive.hpp>
27
28namespace boost {
29namespace archive {
30
31// do not derive from this class. If you want to extend this functionality
32// via inhertance, derived from binary_oarchive_impl instead. This will
33// preserve correct static polymorphism.
34class binary_woarchive :
35 public binary_oarchive_impl<
36 binary_woarchive, std::wostream::char_type, std::wostream::traits_type
37 >
38{
39public:
40 binary_woarchive(std::wostream & os, unsigned int flags = 0) :
41 binary_oarchive_impl<
42 binary_woarchive, std::wostream::char_type, std::wostream::traits_type
43 >(os, flags)
44 {}
45 binary_woarchive(std::wstreambuf & bsb, unsigned int flags = 0) :
46 binary_oarchive_impl<
47 binary_woarchive, std::wostream::char_type, std::wostream::traits_type
48 >(bsb, flags)
49 {}
50};
51
52} // namespace archive
53} // namespace boost
54
55// required by export
56BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_woarchive)
57
58#endif // BOOST_NO_STD_WSTREAMBUF
59#endif // BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP