Классы | |
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 | Список базовых типов для обрабатываемого типа. |