Пространство имен oess_1::scheme::impl


Подробное описание

Детали реализации.


Классы

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_tcreate_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]

Является ли атрибут опциональным.

Начиная с:
v.1.2.0

bool oess_1::scheme::impl::is_default_attr ( const attr_t &  a  )  [inline]

Есть ли у атрибута значение по-умолчанию.

Начиная с:
v1.2.0

std::string oess_1::scheme::impl::missing_attr_flag_name ( const std::string &  attr  )  [inline]

Генерация имени флага отсутствия атрибута со значением по-умолчанию.

Начиная с:
v.1.2.0

static void oess_1::scheme::impl::generate_attr_unpack ( const type_t &  type,
std::ostream &  out 
) [static]

Начиная с:
v.1.2.0
Генерирует код по десериализации атрибутов с учетом расширений.

static void oess_1::scheme::impl::generate_attr_pack ( const type_t &  type,
std::ostream &  out 
) [static]

Начиная с:
v.1.2.0
Генерирует код по сериализации атрибутов с учетом расширений.

std::string oess_1::scheme::impl::escape_cpp_string ( const std::string &  what  ) 

Начиная с:
v.1.2.0
Выполняет escaping символов, которые не могут в явном виде присутствовать в C++ строке. Выполняются замены:

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.

Начиная с:
v.1.2.0

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.

Начиная с:
v.1.2.0

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.

Начиная с:
v.1.2.0
Аргументы:
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.

Начиная с:
v.1.2.0
Аргументы:
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.

Начиная с:
v.1.2.0
Аргументы:
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.

Начиная с:
v.1.2.0
Аргументы:
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.

Начиная с:
v.1.2.0
Аргументы:
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.

Начиная с:
v.1.2.0
Аргументы:
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.

Начиная с:
v.1.2.0
Аргументы:
out  Приемник сгенерированного кода.
type  Обрабатываемый тип.
cpp_type_name  Имя обрабатываемого типа в C++.
bases  Список базовых типов для обрабатываемого типа.


Документация по ObjESSty. Последние изменения: Fri Oct 13 18:35:39 2006. Создано системой  doxygen 1.4.7
Hosted by uCoz