Файл so_4/rt/h/sol_msg_field_oess_io_custom.hpp


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

Макрос для описания поля сообщения, которое должно сериализоваться вручную.

Начиная с:
v.4.4.0-b2
Заметки:
При необходимости использовать в SOP полей сообщений, сериализуемых вручную через oess_1::io, необходимо подгружать данный заголовочный файл вручную, поскольку автоматически он не подгружается из so_4/rt/h/rt.hpp.


Пространства имен

namespace  so_4
namespace  so_4::rt

Макросы

#define SO_4__RT__SOL_MSG_FIELD_OESS_IO_CUSTOM_HPP
#define SOL4_MSG_FIELD_OESS_IO_CUSTOM(field_name)
 Описание поля, являющегося одиночным объектом.


Макросы

#define SOL4_MSG_FIELD_OESS_IO_CUSTOM ( field_name   ) 

Описание поля, являющегося одиночным объектом.

Начиная с:
v.4.4.0-b2
Описывает поле-одиночный объект для SOP. Поле должно иметь тип, для которого определены операторы сдвига в oess_1::io::ostream_t и из oess_1::io::istream_t.

Для описанного подобным образом поля можно установить значение при отправке сообщения средствами SOP.

  class MyClass { ... };
  ...
  oess_1::io::istream_t &
  operator>>( oess_1::io::istream_t & in, MyClass & o ) { ... }
  oess_1::io::ostream_t &
  operator<<( oess_1::io::ostream_t & out, const MyClass & o ) { ... }
  ...
  class a_my_t : public so_4::rt::agent_t {
    public :
      ...
      struct msg_my {
        MyClass m_custom_field;
        ...
      };
      ...
  };
  ...
  #include <so_4/rt/h/sol_msg_field_oess_io_custom.hpp>
  ...
  SOL4_CLASS_START( a_my_t )
    SOL4_MSG_START( msg_my, a_my_t::msg_my )
      SOL4_MSG_FIELD_OESS_IO_CUSTOM( m_custom_field )
      ...
    SOL4_MSG_FINISH()
    ...
  SOL4_MSG_FIELD()

Внимание:
Поле должно быть доступным (public) атрибутом типа, реализующего сообщения.
Аргументы:
field_name имя поля сообщения.
Примеры:
sample/filter/c1i.cpp и sample/filter/c2i.cpp.


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