/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Library/boost/libs/serialization/test/test_private_ctor.cpp
66 строк
1 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // test_private_ctor.cpp // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #include <sstream> #include "test_tools.hpp" #include <boost/serialization/vector.hpp> #include <boost/archive/text_iarchive.hpp> #include <boost/archive/text_oarchive.hpp> class V { private: friend int test_main(int /* argc */, char * /* argv */[]); friend class boost::serialization::access; int m_i; V() : m_i(0) {} template<class Archive> void serialize(Archive& ar, unsigned /*version*/) { ar & m_i; } public: ~V(){} bool operator==(const V & v) const { return m_i == v.m_i; } }; int test_main(int /* argc */, char * /* argv */[]) { std::stringstream ss; const V v; { boost::archive::text_oarchive oa(ss); oa << v; } V v1; { boost::archive::text_iarchive ia(ss); ia >> v1; } BOOST_CHECK(v == v1); const V *vptr = & v; { boost::archive::text_oarchive oa(ss); oa << vptr; } V *vptr1; { boost::archive::text_iarchive ia(ss); ia >> vptr1; } BOOST_CHECK(*vptr == *vptr1); return EXIT_SUCCESS; }