19 #ifndef INCLUDE_RCF_PROTOCOL_BOOSTSERIALIZATION_HPP
20 #define INCLUDE_RCF_PROTOCOL_BOOSTSERIALIZATION_HPP
22 #include <RCF/SerializationProtocol_Base.hpp>
24 #ifdef RCF_USE_BOOST_SERIALIZATION
25 #include <boost/archive/binary_iarchive.hpp>
26 #include <boost/archive/binary_oarchive.hpp>
27 #include <boost/archive/text_iarchive.hpp>
28 #include <boost/archive/text_oarchive.hpp>
31 #ifdef RCF_USE_BOOST_XML_SERIALIZATION
32 #include <boost/archive/xml_iarchive.hpp>
33 #include <boost/archive/xml_oarchive.hpp>
36 #include <boost/serialization/base_object.hpp>
37 #include <boost/serialization/level.hpp>
38 #include <boost/serialization/string.hpp>
39 #include <boost/serialization/utility.hpp>
43 #ifdef RCF_USE_BOOST_SERIALIZATION
46 class Protocol< boost::mpl::int_<BsBinary> > :
47 public ProtocolImpl_BSer<boost::archive::binary_iarchive, boost::archive::binary_oarchive>
50 static std::string getName()
52 return "Boost.Serialization binary serialization protocol.";
57 class Protocol< boost::mpl::int_<BsText> > :
58 public ProtocolImpl_BSer<boost::archive::text_iarchive, boost::archive::text_oarchive>
61 static std::string getName()
63 return "Boost.Serialization text serialization protocol.";
69 #ifdef RCF_USE_BOOST_XML_SERIALIZATION
72 class Protocol< boost::mpl::int_<BsXml> > :
73 public ProtocolImpl_BSer<boost::archive::xml_iarchive, boost::archive::xml_oarchive>
76 static std::string getName()
78 return "Boost.Serialization xml serialization protocol.";