Класс so_4::rt::msg_fld_handler_t

Граф наследования:so_4::rt::msg_fld_handler_t:

so_4::rt::impl::msg_fld_handler_template_t< T > so_4::rt::msg_fld_handler_oess_io_custom_t< T >

Полный список членов класса


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

Интерфейс обработчика значения поля сообщения при сериализации/десериализации в SOP.

Заметки:
В версии 4.4.0 перенесен из пространства имен so_4::rt::impl в so_4::rt.

Открытые типы

enum  result_t { e_ok, e_type_mismatch, e_unexpected_exception, e_out_of_range }
 Коды возврата метода write. Подробнее...

Открытые члены

int write_to_fld (int value_type, oess_1::io::istream_t &input, unsigned int items_count)
 Поместить значения из входного потока в поле.
void read_from_fld (int &value_type, oess_1::io::ostream_t &output, unsigned int &items_count)
 Поместить значение поля в выходной поток.

Защищенные члены

virtual int lo_write_to_fld (int value_type, oess_1::io::istream_t &input, unsigned int items_count)=0
 Поместить значения из входного потока в поле.
virtual void lo_read_from_fld (int &value_type, oess_1::io::ostream_t &output, unsigned int &items_count)=0
 Поместить значение поля в выходной поток.

Перечисления

Коды возврата метода write.

Элементы перечислений:
e_ok  Операция завершена успешно.
e_type_mismatch  Несовпадение типа входных данных и типа поля.
e_unexpected_exception  Иключение во время сериализации/десериализации.
e_out_of_range  Записана только часть данных из входного потока. Не является критической ошибкой.


Методы

int so_4::rt::msg_fld_handler_t::write_to_fld ( int  value_type,
oess_1::io::istream_t &  input,
unsigned int  items_count 
)

Поместить значения из входного потока в поле.

В обработчике всех исключений вызывает метод lo_write_to_fld(). Исключения наружу не выпускаются.

Аргументы:
value_type  Тип значений во входном потоке. Определяется so_4::sop::value_type_t.
input  Поток входных значений.
items_count  Количество элементов (не байт!) во входном потоке.

Перекрестные ссылки e_unexpected_exception и lo_write_to_fld().

void so_4::rt::msg_fld_handler_t::read_from_fld ( int &  value_type,
oess_1::io::ostream_t &  output,
unsigned int &  items_count 
)

Поместить значение поля в выходной поток.

В обработчике всех исключений вызывает метод lo_read_from_fld(). Исключения наружу не выпускаются.

Аргументы:
value_type  Приемник типа значений в потоке. Значение из so_4::sop::value_type_t.
output  Поток для помещения значений.
items_count  Приемник количества записанных в выходной поток значений (не байт!).

Перекрестные ссылки lo_read_from_fld().

virtual int so_4::rt::msg_fld_handler_t::lo_write_to_fld ( int  value_type,
oess_1::io::istream_t &  input,
unsigned int  items_count 
) [protected, pure virtual]

Поместить значения из входного потока в поле.

Исключения:
std::exception При возникновении ошибок.
Аргументы:
value_type  Тип значений во входном потоке. Определяется so_4::sop::value_type_t.
input  Поток входных значений.
items_count  Количество элементов (не байт!) во входном потоке.

Замещается в so_4::rt::msg_fld_handler_oess_io_custom_t< T > и so_4::rt::impl::msg_fld_handler_template_t< T >.

Используется в write_to_fld().

virtual void so_4::rt::msg_fld_handler_t::lo_read_from_fld ( int &  value_type,
oess_1::io::ostream_t &  output,
unsigned int &  items_count 
) [protected, pure virtual]

Поместить значение поля в выходной поток.

Исключения:
std::exception При возникновении ошибок.
Аргументы:
value_type  Приемник типа значений в потоке. Значение из so_4::sop::value_type_t.
output  Поток для помещения значений.
items_count  Приемник количества записанных в выходной поток значений (не байт!).

Замещается в so_4::rt::msg_fld_handler_oess_io_custom_t< T > и so_4::rt::impl::msg_fld_handler_template_t< T >.

Используется в read_from_fld().


Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:49 2008. Создано системой  doxygen1.5.6 Intervale SourceForge.net Logo