OnixS C++ B3 BOE Binary Order Entry 1.3.0
API Documentation
Loading...
Searching...
No Matches
MessageBatch< MessageTypeT, MaxMessageSize, MessageInitializer > Class Template Reference

Public Types

using MsgHolder = MessageHolder<MessageTypeT, MaxMessageSize, MessageInitializer>
using MsgHolders = std::vector<MsgHolder>
using iterator = typename MsgHolders::iterator
using const_iterator = typename MsgHolders::const_iterator

Public Member Functions

 MessageBatch ()=default
 MessageBatch (size_t size)
 MessageBatch (std::initializer_list< MsgHolder > list)
 MessageBatch (const MessageBatch &)=delete
MessageBatchoperator= (const MessageBatch &)=delete
void add (const MsgHolder &msg)
void updateHeaders ()
MsgHolderoperator[] (size_t index)
const MsgHolderoperator[] (size_t index) const
size_t size () const
const_iterator begin () const
iterator begin ()
const_iterator end () const
iterator end ()

Friends

class OnixS::B3::BOE::Session
class OnixS::B3::BOE::Messaging::MessageBatchChecker

Detailed Description

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
class OnixS::B3::BOE::Messaging::MessageBatch< MessageTypeT, MaxMessageSize, MessageInitializer >

Definition at line 53 of file MessageBatch.h.

Member Typedef Documentation

◆ const_iterator

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
using const_iterator = typename MsgHolders::const_iterator

Definition at line 61 of file MessageBatch.h.

◆ iterator

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
using iterator = typename MsgHolders::iterator

Definition at line 60 of file MessageBatch.h.

◆ MsgHolder

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
using MsgHolder = MessageHolder<MessageTypeT, MaxMessageSize, MessageInitializer>

Definition at line 57 of file MessageBatch.h.

◆ MsgHolders

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
using MsgHolders = std::vector<MsgHolder>

Definition at line 58 of file MessageBatch.h.

Constructor & Destructor Documentation

◆ MessageBatch() [1/4]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
MessageBatch ( )
default

Creates an empty message batch.

The add method should be used to add a message to the batch.

◆ MessageBatch() [2/4]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
MessageBatch ( size_t size)
inlineexplicit

Creates a message batch with the given number of default constructed messages.

A message in the batch can be updated via operator[] method.

Definition at line 73 of file MessageBatch.h.

◆ MessageBatch() [3/4]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
MessageBatch ( std::initializer_list< MsgHolder > list)
inline

Creates a message batch from the initializer list.

A message in the batch can be updated via operator[] method.

Definition at line 82 of file MessageBatch.h.

◆ MessageBatch() [4/4]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
MessageBatch ( const MessageBatch< MessageTypeT, MaxMessageSize, MessageInitializer > & )
delete

Member Function Documentation

◆ add()

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
void add ( const MsgHolder & msg)
inline

Appends a message to the end of the batch.

Definition at line 93 of file MessageBatch.h.

◆ begin() [1/2]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
iterator begin ( )
inline

Definition at line 119 of file MessageBatch.h.

◆ begin() [2/2]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
const_iterator begin ( ) const
inline

Definition at line 118 of file MessageBatch.h.

◆ end() [1/2]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
iterator end ( )
inline

Definition at line 122 of file MessageBatch.h.

◆ end() [2/2]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
const_iterator end ( ) const
inline

Definition at line 121 of file MessageBatch.h.

◆ operator=()

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
MessageBatch & operator= ( const MessageBatch< MessageTypeT, MaxMessageSize, MessageInitializer > & )
delete

◆ operator[]() [1/2]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
MsgHolder & operator[] ( size_t index)
inline

Definition at line 113 of file MessageBatch.h.

◆ operator[]() [2/2]

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
const MsgHolder & operator[] ( size_t index) const
inline

Definition at line 114 of file MessageBatch.h.

◆ size()

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
size_t size ( ) const
inline

Definition at line 116 of file MessageBatch.h.

◆ updateHeaders()

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
void updateHeaders ( )
inline

Updates headers of SBE messages to be ready for sending.

Note
Should be called before sending after the completion of the batch filling.
There is no need to call this function before sending in each case of a value updating of an existing field.

Definition at line 105 of file MessageBatch.h.

◆ OnixS::B3::BOE::Messaging::MessageBatchChecker

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
friend class OnixS::B3::BOE::Messaging::MessageBatchChecker
friend

Definition at line 127 of file MessageBatch.h.

◆ OnixS::B3::BOE::Session

template<typename MessageTypeT, size_t MaxMessageSize = GetMaxMessageSize<typename HeldAdapter<MessageTypeT>::SbeType, DefaultMaxGroupItems>::Size, typename MessageInitializer = FieldsInitPolicy>
friend class OnixS::B3::BOE::Session
friend

Definition at line 126 of file MessageBatch.h.