This diagram shows the relationship between the various classes that implement saving (output
serialization) for text archives. The hierachy and organization is similar for loading and for
other types of archives as well. In the diagram, classes written in blue
implement saving for a given archive type. (in this case its text archives).
Users include classes in red to save their data from a partcular
type of archive. Other classes whose names are in black implement the library and should
never change. They are in namespace boost::archive::detail
Implements the core library functions for class export, versioning, and object tracking. It is compiled
into the library as it has no template parameters.
Класс, который объявляет стандартный интерфейс архива. Это было учтено, чтобы его можно было использовать как базовый класс для<polymorphic_oarchive>, а также для реализаций архива.
Функция этого класса состоит в том, чтобы установить связь между интерфейсом виртуальной функции, используемым<basic_oarchive>, и интерфейсом шаблона, используемым реализациями класса архива.
Реализует основную функциональность для простых текстовых архивов. Примитивные функции сохранения были учтены, поэтому их можно использовать в других текстовых архивах, таких как XML-архивы.
Это всего лишь малая часть<text_oarchive_impl<text_oarchive>>. Мы не можем использовать<typedef>, потому что<typedef>не может ссылаться на него самого в его определении. Это название класса, которое используется для сериализации в текстовом архиве.
Тот же шаблон, что и выше. Однако на этот раз параметр Archive относится к полиморфному архиву с интерфейсом виртуальной функции, а не к интерфейсу шаблона, который используется<common_oarchive>.
Класс со списком виртуальных<save(T &t)>для всех примитивных типов Т. Этот класс используется для предварительной компиляции последовательности классов для всех архивов настоящего и будущего.
Этот класс реализует<polymorphic_oarchive>с точки зрения конкретного конкретного класса. Виртуальные вызовы функций направляются в класс реализации. В этом примере классом реализации будет text_oarchive_impl.
Статья Serialization - Archive Class Diagram раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.