OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
IPReport Struct Reference

Classes

struct  UsersEntry

Public Types

enum  
typedef SchemaTraits Schema
typedef IPReport ThisType
typedef SbeGroup< UsersEntry, GroupSizeEncoding, MessageSizeUsers
Public Types inherited from SbeMessage
typedef MessageSize EncodedLength
typedef MessageSize BlockLength

Public Member Functions

 IPReport ()=default
 IPReport (void *data, EncodedLength length, SchemaVersion version=Schema::Version)
 IPReport (void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
 IPReport (void *data, EncodedLength length, NoInit)
 IPReport (SbeMessage message)
 IPReport (void *data, EncodedLength length, NoInit, NoCheck) noexcept
auto exchangeCode () const noexcept
ThisTypeexchangeCode (Int32NULL value) noexcept
ThisTypeexchangeCode (NullOpt) noexcept
auto text () const noexcept
ThisTypetext (StrRef value) noexcept
ThisTypetext (NullOpt) noexcept
Users users () const noexcept
Users users () noexcept
Users users (Users::Size length)
Users users (Users::Size length, NoFieldsInit)
ThisTyperesetVariableFields () noexcept
ThisTypereset () noexcept
std::string toString () const
const void * tail () const noexcept
EncodedLength calculateBinarySize () const noexcept
Public Member Functions inherited from SbeMessage
 SbeMessage () noexcept
 SbeMessage (void *data, MessageSize size, SchemaVersion version)
 SbeMessage (void *data, MessageSize size)
 SbeMessage (void *data, MessageSize size, NoCheck) noexcept
void clear () noexcept
bool valid () const noexcept
 operator bool () const noexcept
MessageTemplateId templateId () const noexcept
SchemaVersion version () const noexcept
SchemaId schemaId () const noexcept
SequenceId sequenceId () const noexcept
SbeMessagesequenceId (SequenceId value) noexcept
Timestamp sendTime () const noexcept
SbeMessagesendTime (Timestamp value) noexcept
HeaderFlags headerFlags () const noexcept
SbeMessageheaderFlags (HeaderFlags value) noexcept
const void * binary () const noexcept
void * binary () noexcept
const void * blockEnd () noexcept
const void * blockEnd () const noexcept
MessageSize bufferSize () const noexcept
void * body () noexcept
BlockLength blockLength () const noexcept
const void * block () const noexcept
void * block () noexcept
Public Member Functions inherited from SbeFields< Messaging::SbeMessage, MessageSize >
ONIXS_ICEBOE_FORCEINLINE Messaging::SbeMessagecontainer () noexcept
void zeroPaddingBytes (MessageSize offset) noexcept
ONIXS_ICEBOE_FORCEINLINE void setOrdinary (MessageSize offset, FieldValue value) noexcept
ONIXS_ICEBOE_FORCEINLINE void setEnumeration (MessageSize offset, Enumeration value) noexcept
ONIXS_ICEBOE_FORCEINLINE void setFixedStr (MessageSize offset, StrRef value) noexcept

Static Public Member Functions

static constexpr BlockLength minimalBlockLength (SchemaVersion version) noexcept
static constexpr BlockLength blockLength (SchemaVersion version) noexcept
static constexpr MessageSize getMinimalVariableFieldsSize (SchemaVersion version)
static constexpr UInt64 getMaxMessageSize (UInt8 maxGroupItems=255) noexcept
static constexpr StrRef className () noexcept
static constexpr StrRef fixType () noexcept

Additional Inherited Members

Protected Types inherited from SbeMessage
typedef SbeGroupList< MessageSizeGroupList
typedef SbeVariableLengthFieldList< MessageSizeVariableLengthFieldList
Protected Member Functions inherited from SbeMessage
SbeMessageversion (SchemaVersion version) noexcept
GroupList groups () noexcept
GroupList groups () const noexcept
template<typename Group>
void initGroup (Group &group, typename Group::EntrySize entrySize) noexcept
template<typename Group>
void setupGroup (Group &group, typename Group::Size entryCount, const void *messageTail)
template<typename Group>
void constructGroup (Group &group, typename Group::Size entryCount, const void *messageTail)
template<typename DATA>
void setVarDataField (DATA &data, StrRef value, const void *oldMessageTail)
VariableLengthFieldList variableLengthFields () noexcept
VariableLengthFieldList variableLengthFields () const noexcept
void init (MessageHeader::TemplateId value, MessageHeader::BlockLength minimalBlockLength, MessageHeader::BlockLength blockLength, SchemaId id) noexcept
MessageSize calculateBinarySize (const void *tail) const noexcept
template<class Callable, class Owner>
void setVariableLengthField (Callable callable, StrRef value, Owner &owner)
template<class Callable, class Owner>
void setVariableLengthField (Callable callable, StrRef value, SchemaVersion since, Owner &owner)
template<class Callable, class Owner>
StrRef getVariableLengthField (Callable callable, const Owner &owner) const noexcept
template<class Callable, class Owner>
StrRef getVariableLengthField (Callable callable, SchemaVersion since, Owner &owner) const noexcept
template<class Callable, class Owner>
void setVariableLengthFieldToNull (Callable callable, Owner &owner) noexcept
template<class Group, class Callable, class Owner>
void resetGroup (Callable callable, Owner &owner) noexcept
template<class Callable, class Owner>
void setVariableLengthFieldToNull (Callable callable, SchemaVersion since, Owner &owner) noexcept
template<class Group, class Callable, class Owner>
void resetGroup (Callable callable, SchemaVersion since, Owner &owner)
template<class Group, class Callable, class Owner>
ONIXS_ICEBOE_FORCEINLINE Group getGroup (Callable callable, Owner &owner) const noexcept
template<class Group, class Callable, class Owner>
ONIXS_ICEBOE_FORCEINLINE Group getGroup (Callable callable, SchemaVersion since, Owner &owner) const noexcept
template<class Group, class Callable, class Owner>
ONIXS_ICEBOE_FORCEINLINE Group constructGroup (Callable callable, typename Group::Size length, SchemaVersion since, Owner &owner)
template<class Group, class Callable, class Owner>
ONIXS_ICEBOE_FORCEINLINE Group constructGroup (Callable callable, typename Group::Size length, Owner &owner)
template<class Group, class Callable, class Owner>
Group setupGroup (Callable callable, typename Group::Size length, SchemaVersion since, Owner &owner)
template<class Group, class Callable, class Owner>
Group setupGroup (Callable callable, typename Group::Size length, Owner &owner)
Protected Member Functions inherited from SbeFields< Messaging::SbeMessage, MessageSize >
 SbeFields ()=default
 ~SbeFields ()=default
Protected Member Functions inherited from BinaryBlock< Messaging::SbeMessage, MessageSize >
 BinaryBlock ()=default
 ~BinaryBlock ()=default
ONIXS_ICEBOE_FORCEINLINE Value ordinary (MessageSize offset) const noexcept
ONIXS_ICEBOE_FORCEINLINE Enumeration enumeration (MessageSize offset) const noexcept
ONIXS_ICEBOE_FORCEINLINE StrRef fixedStr (MessageSize offset) const noexcept
ONIXS_ICEBOE_FORCEINLINE Value decimal (MessageSize offset) const noexcept
ONIXS_ICEBOE_FORCEINLINE std::enable_if<!isComposite< typenameNullValue::Value >::value, SbeOptionalConverted< decltype(std::declval< Callable >()(std::declval< typenameArgType< Callable >::type >()))> >::type convertible (MessageSize offset, OptionalTag) const noexcept(noexcept(Callable::Nothrow))
Protected Member Functions inherited from BinaryBlockBase
 ~BinaryBlockBase ()=default
Static Protected Member Functions inherited from SbeMessage
static constexpr MessageSize getMaxMessageSize () noexcept

Detailed Description

Definition at line 8471 of file Messages.h.

Member Typedef Documentation

◆ Schema

Used template schema.

Definition at line 8476 of file Messages.h.

◆ ThisType

typedef IPReport ThisType

This type alias.

Definition at line 8479 of file Messages.h.

◆ Users

Repeating group containing UsersEntry entries.

Definition at line 8694 of file Messages.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Message template ID from SBE schema.

Enumerator
TemplateId 2002 

Definition at line 8482 of file Messages.h.

8482{ TemplateId = 2002 };

Constructor & Destructor Documentation

◆ IPReport() [1/6]

IPReport ( )
default

Initializes a blank instance.

◆ IPReport() [2/6]

IPReport ( void * data,
EncodedLength length,
SchemaVersion version = Schema::Version )
inline

Initializes an instance over the given memory block.

Definition at line 8700 of file Messages.h.

8701 : SbeMessage(data, length, version)
8702 {
8703 checkVersion<Schema>(version);
8704 checkLength(length, version);
8705 init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
8706 reset();
8707 }

◆ IPReport() [3/6]

IPReport ( void * data,
EncodedLength length,
NoFieldsInit ,
SchemaVersion version = Schema::Version )
inline

Initializes an instance over the given memory block With no variable-length fields initialization It is assumed that the user does such an initialization manually.

Definition at line 8712 of file Messages.h.

8713 : SbeMessage(data, length, version)
8714 {
8715 checkVersion<Schema>(version);
8716 checkLength(length, version);
8717 init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
8718 resetVariableFields();
8719 }

◆ IPReport() [4/6]

IPReport ( void * data,
EncodedLength length,
NoInit  )
inline

Creates an instance over the given memory block.

Definition at line 8722 of file Messages.h.

8723 : SbeMessage(data, length)
8724 {
8725 checkCompatibility();
8726 }

◆ IPReport() [5/6]

IPReport ( SbeMessage message)
inlineexplicit

Creates an instance over the given SBE message.

Definition at line 8730 of file Messages.h.

8731 : SbeMessage(message)
8732 {
8733 assert(message.valid());
8734
8735 checkCompatibility();
8736 }

◆ IPReport() [6/6]

IPReport ( void * data,
EncodedLength length,
NoInit ,
NoCheck  )
inlinenoexcept

Creates an instance over the given memory block.

Performs no checks.

Definition at line 8740 of file Messages.h.

8741 : SbeMessage(data, length, NoCheck())
8742 {
8743 assert(schemaId() == Schema::Id);
8744 assert(version() >= Schema::MinimalVersion);
8745 assert(TemplateId == templateId());
8746 }
const char * version() noexcept

Member Function Documentation

◆ blockLength()

constexpr BlockLength blockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept

Size of message body in bytes.

Definition at line 8849 of file Messages.h.

8850 {
8851 return
8852 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
8853 minimalBlockLength(version);
8854 }

◆ calculateBinarySize()

EncodedLength calculateBinarySize ( ) const
inlinenoexcept
Returns
the size occupied by the message.

Definition at line 8924 of file Messages.h.

8925 {
8926 return
8927 SbeMessage::calculateBinarySize(tail());
8928 }

◆ className()

constexpr StrRef className ( )
inlinestaticconstexprnoexcept
Returns
class name.

Definition at line 8897 of file Messages.h.

8898 {
8899 return constructStrRef("IPReport");
8900 }
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
Definition StrRef.h:414

◆ exchangeCode() [1/3]

auto exchangeCode ( ) const
inlinenoexcept

int32NULL.

Definition at line 8750 of file Messages.h.

8751 {
8752 constexpr BlockLength offset = 0;
8753
8754 return ordinary<NullInt32NULL>(offset, optional);
8755 }

◆ exchangeCode() [2/3]

ThisType & exchangeCode ( Int32NULL value)
inlinenoexcept

int32NULL.

Definition at line 8758 of file Messages.h.

8759 {
8760 constexpr BlockLength offset = 0;
8761
8762 setOrdinary(offset, value);
8763 return *this;
8764 }

◆ exchangeCode() [3/3]

ThisType & exchangeCode ( NullOpt )
inlinenoexcept

Definition at line 8766 of file Messages.h.

8767 {
8768 constexpr BlockLength offset = 0;
8769
8770 setOrdinary(offset, NullInt32NULL());
8771 return *this;
8772 }
IntegralConstant< Int32, -2147483647-1 > NullInt32NULL
Null value for an optional Int32NULL field.
Definition Fields.h:994

◆ fixType()

constexpr StrRef fixType ( )
inlinestaticconstexprnoexcept

FIX message type.

Definition at line 8905 of file Messages.h.

8906 {
8907 return constructStrRef("IPReport");
8908 }

◆ getMaxMessageSize()

constexpr UInt64 getMaxMessageSize ( UInt8 maxGroupItems = 255)
inlinestaticconstexprnoexcept

Maximal message size.

Definition at line 8869 of file Messages.h.

8870 {
8871 return
8872 static_cast<UInt64>(MessageHeaderBuilder::Size) +
8873 blockLength(Schema::Version) +
8874 (GroupSizeEncoding::Size + UsersEntry::blockLength(Schema::Version) * static_cast<UInt64>(maxGroupItems));
8875 }

◆ getMinimalVariableFieldsSize()

constexpr MessageSize getMinimalVariableFieldsSize ( SchemaVersion version)
inlinestaticconstexpr

Minimal variable fields size (when variable-length fields are empty).

Definition at line 8859 of file Messages.h.

8860 {
8861 return
8862 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
8863 static_cast<MessageSize>(Users::EmptySize);
8864 }
UInt16 MessageSize
Message length type.
Definition Aliases.h:29

◆ minimalBlockLength()

constexpr BlockLength minimalBlockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept

Minimal size of message body in bytes.

Definition at line 8840 of file Messages.h.

8841 {
8842 return
8843 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
8844 104;
8845 }

◆ reset()

ThisType & reset ( )
inlinenoexcept

Reset all variable-length and optional fields if any.

Definition at line 8885 of file Messages.h.

8886 {
8887 exchangeCode(nullOpt);
8888 text(nullOpt);
8889
8890 resetVariableFields();
8891 return *this;
8892 }

◆ resetVariableFields()

ThisType & resetVariableFields ( )
inlinenoexcept

Reset all variable-length fields if any.

Definition at line 8878 of file Messages.h.

8879 {
8880 users(nullOpt);
8881 return *this;
8882 }

◆ tail()

const void * tail ( ) const
inlinenoexcept
Returns
the end of the message.

Definition at line 8916 of file Messages.h.

8917 {
8918 return
8919 users().tail();
8920 }

◆ text() [1/3]

auto text ( ) const
inlinenoexcept

Provides access to text field.

Definition at line 8776 of file Messages.h.

8777 {
8778 constexpr BlockLength offset = 4;
8779 constexpr BlockLength length = 100;
8780
8781 return fixedStr<length>(offset, optional);
8782 }

◆ text() [2/3]

ThisType & text ( NullOpt )
inlinenoexcept

Definition at line 8794 of file Messages.h.

8795 {
8796 constexpr BlockLength offset = 4;
8797 constexpr BlockLength length = 100;
8798
8799 setFixedStr<length>(offset, StrRef());
8800 return *this;
8801 }
std::basic_string_view< Char > StrRef
Definition StrRef.h:46

◆ text() [3/3]

ThisType & text ( StrRef value)
inlinenoexcept

Provides access to text field.

Definition at line 8785 of file Messages.h.

8786 {
8787 constexpr BlockLength offset = 4;
8788 constexpr BlockLength length = 100;
8789
8790 setFixedStr<length>(offset, value);
8791 return *this;
8792 }

◆ toString()

std::string toString ( ) const
inline
Returns
a human-readable presentation.

Definition at line 742 of file MessageSerialization.h.

743{
744 return toStr(*this);
745}
std::string toStr(Order::PriceOptional value)
Definition Order.cpp:34

◆ users() [1/4]

Users users ( ) const
inlinenoexcept
Returns
instance of Users repeating group.

Definition at line 8805 of file Messages.h.

8806 {
8807 return getGroup<Users>(UsersAccess(), *this);
8808 }

◆ users() [2/4]

Users users ( )
inlinenoexcept
Returns
instance of Users repeating group.

Definition at line 8812 of file Messages.h.

8813 {
8814 return getGroup<Users>(UsersAccess(), *this);
8815 }

◆ users() [3/4]

Users users ( Users::Size length)
inline

Setup repeating group with the given number of entries.

Sets all optional fields of the group entries to null.

Returns
noUsers(809) repeating group.

Definition at line 8820 of file Messages.h.

8821 {
8822 return constructGroup<Users>(
8823 UsersAccess(),
8824 length,
8825 *this);
8826 }

◆ users() [4/4]

Users users ( Users::Size length,
NoFieldsInit  )
inline

Setup repeating group with the given number of entries.

Returns
noUsers(809) repeating group.

Definition at line 8830 of file Messages.h.

8831 {
8832 return setupGroup<Users>(
8833 UsersAccess(),
8834 length,
8835 *this);
8836 }