Классы | |
| class | tag_base_t |
| class | tag_cpp_mapping_t |
| class | tag_attr_type_t |
| Тег для описания типа атрибута. Подробнее... | |
| class | tag_attr_present_if_t |
| Тег для описания предиката сериализации опционального атрибута. Подробнее... | |
| class | tag_attr_default_t |
| Тег для описания значения атрибута по-умолчанию. Подробнее... | |
| class | tag_attr_t |
| class | tag_extension_wrapper_t |
| Вспомогательный класс для разбора тега {extension}. Подробнее... | |
| class | tag_extension_t |
| Класс тега {extension}. Подробнее... | |
| class | tag_type_t |
| Класс тега с описанием типа. Подробнее... | |
| class | std_attr_editor_t |
| Стандартная реализация интерфейса attr_editor_t. Подробнее... | |
| class | std_cpp_mapping_editor_t |
| class | std_type_editor_t |
| Стандартная реализация интерфейса type_editor_t. Подробнее... | |
| class | std_scheme_t |
| class | std_base_t |
| class | std_cpp_mapping_t |
| class | std_attr_type_t |
| class | std_attr_present_if_t |
| Реализация интерфейса описания предиката сериализации опционального атрибута. Подробнее... | |
| class | std_attr_default_t |
| Реализации интерфейс значения атрибута по-умолчанию. Подробнее... | |
| class | std_attr_t |
| Стандартная реализация интерфейса attr_t. Подробнее... | |
| class | std_type_t |
| Стандартная реализация интерфейса type_t. Подробнее... | |
| class | map_base_kind_impl_t |
| class | std_stl_map_kind_t |
| class | std_stl_multimap_kind_t |
| class | std_fixed_vector_kind_t |
| class | type_finder_t |
| class | make_attr_missing_flags_t |
| Предикат для std::for_each. Подробнее... | |
| class | make_set_default_for_missing_attr_t |
| Предикат для std::for_each. Подробнее... | |
| class | make_present_if_method_fragment_t |
| Предикат для std::for_each. Подробнее... | |
| class | make_set_default_method_fragment_t |
| Предикат для std::for_each. Подробнее... | |
| class | make_unpack_for_base_t |
| class | make_unpack_complete_for_base_t |
| class | attr_type_kind_processor_t |
| class | attr_serialize_processor_t |
| class | make_serialize_for_attr_t |
| Предикат для std::for_each. Подробнее... | |
| class | make_pack_for_base_t |
| class | make_pack_complete_for_base_t |
| class | make_cast_for_base_t |
Функции | |
| bool | cls_parse (std::istream &in,const char *opt_stream_name,cls_2::tag_vector_of_tags_t< tag_type_t > &tag,std::string &error_desc) |
| Синтаксический разбор. | |
| generate_cpp_serializer (const type_t &type, std::ostream &out) | |
| make_type_representation (const type_t &what, std::ostream &to, bool is_mapping_needed) | |
| Сформировать текстовое описание типа схемы данных. | |
| scheme_t * | create_std_scheme () |
| void | destroy_std_scheme (scheme_t *ptr) |
| bool | is_optional_attr (const attr_t &a) |
| Является ли атрибут опциональным. | |
| bool | is_default_attr (const attr_t &a) |
| Есть ли у атрибута значение по-умолчанию. | |
| std::string | missing_attr_flag_name (const std::string &attr) |
| Генерация имени флага отсутствия атрибута со значением по-умолчанию. | |
| static void | generate_first_part (const std::string &type_name, std::ostream &out) |
| static void | generate_attr_unpack (const type_t &type, std::ostream &out) |
| static void | generate_attr_pack (const type_t &type, std::ostream &out) |
| std::string | escape_cpp_string (const std::string &what) |
| static void | generate_scheme_method (const type_t &type, std::ostream &out) |
| static void | generate_oess_present_if (const std::string &type_name, const pseudo_attr_list_t &attrs, std::ostream &out) |
| Генерация кода метода oess_present_if. | |
| static void | generate_oess_set_default (const std::string &type_name, const pseudo_attr_list_t &attrs, std::ostream &out) |
| Генерация кода метода oess_set_default. | |
| static void | generate_get_subclass_extension_path (std::ostream &out, const type_t &type, const std::string &cpp_type_name, const pseudo_base_list_t &bases) |
| Генератор метода oess_get_subclass_extension_path. | |
| static void | generate_last_part (std::ostream &out, const type_t &type, const std::string &cpp_type_name, const pseudo_base_list_t &bases) |
| static void | generate_unpack_self (std::ostream &out, const type_t &type, const std::string &cpp_type_name, const pseudo_attr_list_t &attrs) |
| Генератор метода unpack_self для классов oess_serializer_t. | |
| static void | generate_unpack (std::ostream &out, const type_t &type, const std::string &cpp_type_name, const pseudo_base_list_t &bases, const pseudo_attr_list_t &attrs) |
| Генератор метода unpack для классов oess_serialize_t. | |
| static void | generate_unpack_complete (std::ostream &out, const type_t &type, const std::string &cpp_type_name, const pseudo_base_list_t &bases) |
| Генератор метода unpack_complete для классов oess_serialize_t. | |
| static void | generate_pack_self (std::ostream &out, const type_t &type, const std::string &cpp_type_name, const pseudo_attr_list_t &attrs) |
| Генератор метода pack_self для классов oess_serializer_t. | |
| static void | generate_pack (std::ostream &out, const type_t &type, const std::string &cpp_type_name, const pseudo_base_list_t &bases, const pseudo_attr_list_t &attrs) |
| Генератор метода pack для классов oess_serializer_t. | |
| static void | generate_pack_complete (std::ostream &out, const type_t &type, const std::string &cpp_type_name, const pseudo_base_list_t &bases) |
| Генератор метода pack_complete для классов oess_serializer_t. | |
| bool cls_parse | ( | std::istream & | in, | |
| const char * | opt_stream_name, | |||
| cls_2::tag_vector_of_tags_t< tag_type_t > & | tag, | |||
| std::string & | error_desc | |||
| ) |
Синтаксический разбор.
Если возникает ошибка, то возвращается false, а в error_desc помещается описание ошибки.
| in | Входной поток, который нужно разобрать. |
| opt_stream_name | Необязательное имя входного потока. Может иметь нулевое значение. |
| tag | Теги, которые будут получены в результате разбора. |
| error_desc | Буфер для приема описания ошибки. |
| generate_cpp_serializer | ( | const type_t & | type, | |
| std::ostream & | out | |||
| ) |
Генерация C++ кода oess_1_serializer_t для указаного типа.
| type | Тип, для которого нужно сгенерировать код. |
| out | Поток, в который нужно направлять результирующий код. |
| make_type_representation | ( | const type_t & | what, | |
| std::ostream & | to, | |||
| bool | is_mapping_needed | |||
| ) |
Сформировать текстовое описание типа схемы данных.
| what | Тип, для которого строится описание. |
| to | Приемник полученного описания. |
| is_mapping_needed | Нужно ли обрабатывать отображение типа в конкретные языки программирования (C++). |
| bool oess_1::scheme::impl::is_optional_attr | ( | const attr_t & | a | ) | [inline] |
Является ли атрибут опциональным.
| bool oess_1::scheme::impl::is_default_attr | ( | const attr_t & | a | ) | [inline] |
Есть ли у атрибута значение по-умолчанию.
| std::string oess_1::scheme::impl::missing_attr_flag_name | ( | const std::string & | attr | ) | [inline] |
Генерация имени флага отсутствия атрибута со значением по-умолчанию.
| static void oess_1::scheme::impl::generate_attr_unpack | ( | const type_t & | type, | |
| std::ostream & | out | |||
| ) | [static] |
| static void oess_1::scheme::impl::generate_attr_pack | ( | const type_t & | type, | |
| std::ostream & | out | |||
| ) | [static] |
| std::string oess_1::scheme::impl::escape_cpp_string | ( | const std::string & | what | ) |
| static void oess_1::scheme::impl::generate_oess_present_if | ( | const std::string & | type_name, | |
| const pseudo_attr_list_t & | attrs, | |||
| std::ostream & | out | |||
| ) | [static] |
Генерация кода метода oess_present_if.
| static void oess_1::scheme::impl::generate_oess_set_default | ( | const std::string & | type_name, | |
| const pseudo_attr_list_t & | attrs, | |||
| std::ostream & | out | |||
| ) | [static] |
Генерация кода метода oess_set_default.
| static void oess_1::scheme::impl::generate_get_subclass_extension_path | ( | std::ostream & | out, | |
| const type_t & | type, | |||
| const std::string & | cpp_type_name, | |||
| const pseudo_base_list_t & | bases | |||
| ) | [static] |
Генератор метода oess_get_subclass_extension_path.
| out | Приемник сгенерированного кода. |
| type | Обрабатываемый тип. |
| cpp_type_name | Имя обрабатываемого типа в C++. |
| bases | Список базовых типов для обрабатываемого типа. |
| static void oess_1::scheme::impl::generate_last_part | ( | std::ostream & | out, | |
| const type_t & | type, | |||
| const std::string & | cpp_type_name, | |||
| const pseudo_base_list_t & | bases | |||
| ) | [static] |
| out | Приемник сгенерированного кода. |
| type | Обрабатываемый тип. |
| cpp_type_name | Имя обрабатываемого типа в C++. |
| bases | Список базовых типов для обрабатываемого типа. |
| static void oess_1::scheme::impl::generate_unpack_self | ( | std::ostream & | out, | |
| const type_t & | type, | |||
| const std::string & | cpp_type_name, | |||
| const pseudo_attr_list_t & | attrs | |||
| ) | [static] |
Генератор метода unpack_self для классов oess_serializer_t.
| out | Поток для принятия сгенерированного кода. |
| type | Тип для обработки. |
| cpp_type_name | Имя этого типа в C++. |
| attrs | Список атрибутов данного типа. |
| static void oess_1::scheme::impl::generate_unpack | ( | std::ostream & | out, | |
| const type_t & | type, | |||
| const std::string & | cpp_type_name, | |||
| const pseudo_base_list_t & | bases, | |||
| const pseudo_attr_list_t & | attrs | |||
| ) | [static] |
Генератор метода unpack для классов oess_serialize_t.
| out | Приемник сгенерированного кода. |
| type | Тип, для которого выполняется генерация. |
| cpp_type_name | Имя этого типа в C++. |
| bases | Список базовых типов для обрабатываемого типа. |
| attrs | Список атрибутор обрабатываемого типа. |
| static void oess_1::scheme::impl::generate_unpack_complete | ( | std::ostream & | out, | |
| const type_t & | type, | |||
| const std::string & | cpp_type_name, | |||
| const pseudo_base_list_t & | bases | |||
| ) | [static] |
Генератор метода unpack_complete для классов oess_serialize_t.
| out | Приемник сгенерированного кода. |
| type | Тип, для которого выполняется генерация. |
| cpp_type_name | Имя этого типа в C++. |
| bases | Список базовых типов для обрабатываемого типа. |
| static void oess_1::scheme::impl::generate_pack_self | ( | std::ostream & | out, | |
| const type_t & | type, | |||
| const std::string & | cpp_type_name, | |||
| const pseudo_attr_list_t & | attrs | |||
| ) | [static] |
Генератор метода pack_self для классов oess_serializer_t.
| out | Приемник сгенерированного кода. |
| type | Обрабатываемый тип. |
| cpp_type_name | Имя этого типа в С++. |
| attrs | Список атрибутов этого типа. |
| static void oess_1::scheme::impl::generate_pack | ( | std::ostream & | out, | |
| const type_t & | type, | |||
| const std::string & | cpp_type_name, | |||
| const pseudo_base_list_t & | bases, | |||
| const pseudo_attr_list_t & | attrs | |||
| ) | [static] |
Генератор метода pack для классов oess_serializer_t.
| out | Приемник сгенерированного кода. |
| type | Обрабатываемый тип. |
| cpp_type_name | Имя обрабатываемого типа в C++. |
| bases | Список базовых типов для обрабатываемого типа. |
| attrs | Список атрибутов обрабатываемого типа. |
| static void oess_1::scheme::impl::generate_pack_complete | ( | std::ostream & | out, | |
| const type_t & | type, | |||
| const std::string & | cpp_type_name, | |||
| const pseudo_base_list_t & | bases | |||
| ) | [static] |
Генератор метода pack_complete для классов oess_serializer_t.
| out | Приемник сгенерированного кода. |
| type | Обрабатываемый тип. |
| cpp_type_name | Имя обрабатываемого типа в C++. |
| bases | Список базовых типов для обрабатываемого типа. |
1.4.7