Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Serialization - Archive Class Diagram

Boost , ,

C++ Boost

Serialization

Text Archive Class Diagram



basic_oarchive ->
      |
      |
      |      interface_oarchive<text_oarchive> ->
      |                     /
      |                   /
      |        _________/
      |      /
      |    /
      |  /
common_oarchive<text_oarchive> ->
      |
      |
basic_text_oarchive<text_oarchive> ->
      |
      |
      |     basic_text_oprimitive<basic_ostream> ->
      |                    /
      |                  /
      |       _________/                  interface_oarchive<polymorphic_oarchive> ->
      |     /                                                |
      |   /                                                  |
      | /                                                    |
text_oarchive_impl<text_oarchive> ->              polymorphic_oarchive_impl ->
      | \                                                    |
      |   \                                                  |
      |     \_____________________________________    polymorphic_oarchive ->
      |                                           \         /
      |                                             \     /
      |                                               \ /  
text_oarchive ->                 polymorphic_oarchive_route<text_oarchive_impl<text_oarchive> > ->
                                                       |
                                                       |
                                                       |
                                             polymorphic_text_oarchive ->
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
basic_oarchive
Implements the core library functions for class export, versioning, and object tracking. It is compiled into the library as it has no template parameters.

< interface_oarchive<text_oarchive> >
Класс, который объявляет стандартный интерфейс архива. Это было учтено, чтобы его можно было использовать как базовый класс для<polymorphic_oarchive>, а также для реализаций архива.

< common_oarchive<text_oarchive> >
Функция этого класса состоит в том, чтобы установить связь между интерфейсом виртуальной функции, используемым<basic_oarchive>, и интерфейсом шаблона, используемым реализациями класса архива.

< basic_text_oarchive<text_oarchive> >
Реализует основную функциональность для простых текстовых архивов. Примитивные функции сохранения были учтены, поэтому их можно использовать в других текстовых архивах, таких как XML-архивы.

< basic_text_oprimitive<basic_ostream> >
Реализует резервные сбережения для всех примитивных типов. Это шаблон с параметром, который описывает поток.

< text_oarchive_impl<text_oarchive> >
Наследники из вышеуказанных двух классов для реализации текстовых архивов.

< text_oarchive >
Это всего лишь малая часть<text_oarchive_impl<text_oarchive>>. Мы не можем использовать<typedef>, потому что<typedef>не может ссылаться на него самого в его определении. Это название класса, которое используется для сериализации в текстовом архиве.

< interface_oarchive<polymorphic_oarchive> >
Тот же шаблон, что и выше. Однако на этот раз параметр Archive относится к полиморфному архиву с интерфейсом виртуальной функции, а не к интерфейсу шаблона, который используется<common_oarchive>.

< polymorphic_oarchive >
Класс со списком виртуальных<save(T &t)>для всех примитивных типов Т. Этот класс используется для предварительной компиляции последовательности классов для всех архивов настоящего и будущего.

< polymorphic_oarchive_route<text_oarchive_impl<text_oarchive> > >

Этот класс реализует<polymorphic_oarchive>с точки зрения конкретного конкретного класса. Виртуальные вызовы функций направляются в класс реализации. В этом примере классом реализации будет text_oarchive_impl.

< polymorphic_text_oarchive >
это просто typedef, чтобы мы могли писать polymorphic_text_archive, а не<polymorphic_oarchive_route<text_oarchive_impl&'t;text_oarchive> >>

© CopyrightRobert Ramey2002-2004. Распространяется под лицензией Boost Software License, версия 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копию по адресу http://www.boost.org/LICENSE_1_0.txt)

Статья Serialization - Archive Class Diagram раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 21:52:25/0.00642991065979/0