libjmmcg
build_2783
A C++ library containing an eclectic mix of useful, advanced components.
|
#include <messages.hpp>
Public Types | |
enum | : bool { has_static_size =false } |
enum | : std::size_t { header_t_size =msg_version_t::fix_template_body_length_offset+sizeof(JMMCG_FIX_MSG_BODY_LENGTH_NULL)+1 } |
using | msg_version_t = MsgVer |
using | element_type = char |
using | pointer = element_type * |
using | const_pointer = element_type const * |
using | size_type = std::size_t |
using | MsgTypes_t = common::MsgTypes_t |
Public Member Functions | |
constexpr __stdcall | Header () noexcept(true) |
Create a FIX message from an array of chars read from a socket or elsewhere. More... | |
constexpr size_type | length () const noexcept(true) |
Determine the total size of the referenced message. More... | |
template<FieldsFast field> | |
constexpr field_str_range_t __fastcall | find () noexcept(true) |
Determine if the specified tag is in the referenced message. More... | |
template<FieldsFast field> | |
constexpr const field_str_range_t __fastcall | find () const noexcept(true) |
Determine if the specified tag is in the referenced message. More... | |
MsgTypes | type () const noexcept(true) __attribute__((pure)) |
constexpr bool | is_valid () const noexcept(true) |
Verify that the referenced FIX message is valid. More... | |
checksum_t | generate_checksum (size_type body_len) const noexcept(true) |
Generate the checksum for the referenced FIX message. More... | |
constexpr bool | is_checksum_valid (size_type body_len, const_pointer start_of_checksum_value) const noexcept(true) |
Verify that the checksum of the referenced FIX message is valid. More... | |
Public Attributes | |
enum isimud::exchanges::FIX::common::Header:: { ... } | __attribute__ |
Protected Member Functions | |
template<MsgTypes MsgType> | |
constexpr underlying_fix_data_buffer::iterator | set_header () noexcept(true) |
template<MsgTypes MsgType, class SrcMsg > | |
constexpr underlying_fix_data_buffer::iterator | set_sequence_num (SrcMsg const &msg) noexcept(true) |
Protected Attributes | |
ALIGN_TO_L1_CACHE char | begin_string [sizeof(msg_version_t::MsgVer) -1] |
jmmcg::enum_tags::mpl::to_array< FieldsFast, FieldsFast::BodyLength >::element_type | body_length_tag |
char | body_length_value [sizeof(JMMCG_FIX_MSG_BODY_LENGTH_NULL) -1] |
jmmcg::enum_tags::mpl::to_array< FieldsFast, FieldsFast::MsgType >::element_type | msg_type_tag |
underlying_fix_data_buffer | data_ |
Definition at line 111 of file messages.hpp.
using isimud::exchanges::FIX::common::Header< MsgVer >::const_pointer = element_type const * |
Definition at line 116 of file messages.hpp.
using isimud::exchanges::FIX::common::Header< MsgVer >::element_type = char |
Definition at line 114 of file messages.hpp.
using isimud::exchanges::FIX::common::Header< MsgVer >::msg_version_t = MsgVer |
Definition at line 113 of file messages.hpp.
using isimud::exchanges::FIX::common::Header< MsgVer >::MsgTypes_t = common::MsgTypes_t |
Definition at line 118 of file messages.hpp.
using isimud::exchanges::FIX::common::Header< MsgVer >::pointer = element_type * |
Definition at line 115 of file messages.hpp.
using isimud::exchanges::FIX::common::Header< MsgVer >::size_type = std::size_t |
Definition at line 117 of file messages.hpp.
anonymous enum : bool |
Enumerator | |
---|---|
has_static_size | The message is statically-sized, not dynamically, so sizeof(the derived message-type) is the amount to copy, i.e. length() returns sizeof(the derived message-type). |
Definition at line 120 of file messages.hpp.
anonymous enum : std::size_t |
Enumerator | |
---|---|
header_t_size |
Definition at line 123 of file messages.hpp.
|
inlineconstexprnoexcept |
Create a FIX message from an array of chars read from a socket or elsewhere.
In debug builds the validity of the FIX message is checked.
b | The array of chars that must comprise a valid FIX message. |
Definition at line 91 of file messages_impl.hpp.
|
inlineconstexprnoexcept |
Determine if the specified tag is in the referenced message.
field | The field to be found. Note that the range must contain the field otherwise the behaviour shall be undefined. |
Definition at line 128 of file messages_impl.hpp.
|
inlineconstexprnoexcept |
Determine if the specified tag is in the referenced message.
field | The field to be found. Note that the range must contain the field otherwise the behaviour shall be undefined. |
Definition at line 108 of file messages_impl.hpp.
|
inlinenoexcept |
Generate the checksum for the referenced FIX message.
body_len | The length of the body of the referenced FIX message. |
Definition at line 163 of file messages_impl.hpp.
|
inlineconstexprnoexcept |
Verify that the checksum of the referenced FIX message is valid.
body_len | The length of the body of the referenced FIX message. |
start_of_checksum_value | A pointer to that start of the checksum value embedded in the referenced FIX message. |
Definition at line 174 of file messages_impl.hpp.
|
inlineconstexprnoexcept |
Verify that the referenced FIX message is valid.
Definition at line 180 of file messages_impl.hpp.
|
inlineconstexprnoexcept |
Determine the total size of the referenced message.
The referenced message must be valid.
Definition at line 100 of file messages_impl.hpp.
|
inlineconstexprprotectednoexcept |
Definition at line 212 of file messages_impl.hpp.
|
inlineconstexprprotectednoexcept |
Definition at line 230 of file messages_impl.hpp.
|
inlinenoexcept |
Definition at line 146 of file messages_impl.hpp.
enum { ... } isimud::exchanges::FIX::common::Header< MsgVer >::__attribute__ |
|
protected |
Definition at line 185 of file messages.hpp.
|
protected |
Definition at line 187 of file messages.hpp.
|
protected |
Definition at line 188 of file messages.hpp.
|
protected |
Definition at line 190 of file messages.hpp.
|
protected |
Definition at line 189 of file messages.hpp.