libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
isimud::exchanges::BATSBOE::common::Header< MsgT, Msg > Class Template Reference

#include <messages.hpp>

Inheritance diagram for isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >:
[legend]

Public Types

enum  : typename std::underlying_type< MsgType_t >::type { static_type =static_cast<typename std::underlying_type<MsgType_t>::type>(Msg) }
 
enum  : bool { has_static_size =false }
 
using MsgType_t = MsgT
 
using MsgTypes_t = common::MsgType_t
 

Public Member Functions

 Header (std::size_t l) noexcept(true) FORCE_INLINE
 
 Header (std::size_t l, std::uint32_t seqNumber) noexcept(true) FORCE_INLINE
 
const MsgType_t type () const noexcept(true)
 
std::uint16_t length () const noexcept(true)
 The actual, not the foolish BATSBOE-specified, length which excludes the start_of_message field. More...
 
bool is_valid () const noexcept(true)
 

Public Attributes

enum isimud::exchanges::BATSBOE::common::Header:: { ... }  __attribute__
 
const std::uint16_t start_of_message =msg_start_code
 
const MsgType_t type_ {Msg}
 
const std::uint8_t matchingUnit =0
 
const std::uint32_t sequenceNumber
 

Protected Member Functions

 ~Header () noexcept(true)=default
 

Protected Attributes

std::uint16_t length_
 

Detailed Description

template<class MsgT, MsgT Msg>
class isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >

Section: "3.1.1 Login Request"

Definition at line 123 of file messages.hpp.

Member Typedef Documentation

◆ MsgType_t

template<class MsgT, MsgT Msg>
using isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::MsgType_t = MsgT

Definition at line 125 of file messages.hpp.

◆ MsgTypes_t

template<class MsgT, MsgT Msg>
using isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::MsgTypes_t = common::MsgType_t

Definition at line 126 of file messages.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<class MsgT, MsgT Msg>
anonymous enum : typename std::underlying_type< MsgType_t >::type
Enumerator
static_type 

Definition at line 127 of file messages.hpp.

◆ anonymous enum

template<class MsgT, MsgT Msg>
anonymous enum : bool
Enumerator
has_static_size 

The message is dynamically-sized, not statically, so sizeof(MsgT) is the maximum amount to copy, but it could be less, given by length().

Definition at line 130 of file messages.hpp.

Constructor & Destructor Documentation

◆ Header() [1/2]

template<class MsgT , MsgT Msg>
isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::Header ( std::size_t  l)
inlineexplicitnoexcept

Definition at line 91 of file messages_impl.hpp.

Referenced by side().

◆ Header() [2/2]

template<class MsgT , MsgT Msg>
isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::Header ( std::size_t  l,
std::uint32_t  seqNumber 
)
inlinenoexcept

Definition at line 98 of file messages_impl.hpp.

◆ ~Header()

template<class MsgT, MsgT Msg>
isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::~Header ( )
protecteddefaultnoexcept

Member Function Documentation

◆ is_valid()

template<class MsgT, MsgT Msg>
bool isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::is_valid ( ) const
inlinenoexcept

Definition at line 154 of file messages.hpp.

◆ length()

template<class MsgT , MsgT Msg>
std::uint16_t isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::length ( ) const
inlinenoexcept

The actual, not the foolish BATSBOE-specified, length which excludes the start_of_message field.

Definition at line 105 of file messages_impl.hpp.

◆ type()

template<class MsgT, MsgT Msg>
const MsgType_t isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::type ( ) const
inlinenoexcept

Definition at line 147 of file messages.hpp.

Member Data Documentation

◆ __attribute__

enum { ... } isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::__attribute__

◆ length_

template<class MsgT, MsgT Msg>
std::uint16_t isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::length_
protected

Definition at line 137 of file messages.hpp.

◆ matchingUnit

template<class MsgT, MsgT Msg>
const std::uint8_t isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::matchingUnit =0

Definition at line 141 of file messages.hpp.

◆ sequenceNumber

template<class MsgT, MsgT Msg>
const std::uint32_t isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::sequenceNumber

Definition at line 142 of file messages.hpp.

◆ start_of_message

template<class MsgT, MsgT Msg>
const std::uint16_t isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::start_of_message =msg_start_code

Definition at line 134 of file messages.hpp.

◆ type_

template<class MsgT, MsgT Msg>
const MsgType_t isimud::exchanges::BATSBOE::common::Header< MsgT, Msg >::type_ {Msg}

Definition at line 140 of file messages.hpp.


The documentation for this class was generated from the following files: