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

Public Types

typedef SbeGroupEntry< GroupSizeEncoding::BlockLengthBase
typedef LegsEntry ThisType
Public Types inherited from SbeGroupEntry< GroupSizeEncoding::BlockLength >
typedef GroupSizeEncoding::BlockLength BlockLength

Public Member Functions

 LegsEntry (void *data, EncodedLength length, SchemaVersion version)
ThisTyperesetVariableFields () noexcept
ThisTypereset () noexcept
auto legSymbol () const noexcept
ThisTypelegSymbol (Int32NULL value) noexcept
ThisTypelegSymbol (NullOpt) noexcept
auto legSecurityIdSource () const noexcept
ThisTypelegSecurityIdSource (Int8NULL value) noexcept
ThisTypelegSecurityIdSource (NullOpt) noexcept
auto legOptAttribute () const noexcept
ThisTypelegOptAttribute (Int32NULL value) noexcept
ThisTypelegOptAttribute (NullOpt) noexcept
auto legQty () const noexcept
ThisTypelegQty (Decimal9 value) noexcept
ThisTypelegQty (NullOpt) noexcept
auto legPrice () const noexcept
ThisTypelegPrice (Decimal9 value) noexcept
ThisTypelegPrice (NullOpt) noexcept
auto legSecurityType () const noexcept
ThisTypelegSecurityType (SecurityTypeEnum value) noexcept
auto legMemoField () const noexcept
ThisTypelegMemoField (StrRef value) noexcept
ThisTypelegMemoField (NullOpt) noexcept
auto legSecurityId () const noexcept
ThisTypelegSecurityId (StrRef value) noexcept
ThisTypelegSecurityId (NullOpt) noexcept
Public Member Functions inherited from SbeGroupEntry< GroupSizeEncoding::BlockLength >
 SbeGroupEntry ()
 SbeGroupEntry (void *encoded, BlockLength size, SchemaVersion version)
bool valid () const noexcept
const void * encoded () const noexcept
void * encoded () noexcept
const void * block () const noexcept
void * block () noexcept
BlockLength blockLength () const noexcept
SchemaVersion version () const noexcept
Public Member Functions inherited from SbeFields< Container, BlockLength >
ONIXS_ICEBOE_FORCEINLINE Container & container () noexcept
void zeroPaddingBytes (BlockLength offset) noexcept
template<class FieldValue>
ONIXS_ICEBOE_FORCEINLINE void setOrdinary (BlockLength offset, FieldValue value) noexcept
template<class FieldValue>
ONIXS_ICEBOE_FORCEINLINE void setOrdinary (BlockLength offset, FieldValue value, SchemaVersion since)
template<class Enumeration>
ONIXS_ICEBOE_FORCEINLINE void setEnumeration (BlockLength offset, Enumeration value) noexcept
template<class Enumeration>
ONIXS_ICEBOE_FORCEINLINE void setEnumeration (BlockLength offset, Enumeration value, SchemaVersion since)
template<BlockLength Size>
ONIXS_ICEBOE_FORCEINLINE void setFixedStr (BlockLength offset, StrRef value) noexcept
template<BlockLength Size>
ONIXS_ICEBOE_FORCEINLINE void setFixedStr (BlockLength offset, StrRef value, SchemaVersion since)

Static Public Member Functions

static constexpr BlockLength blockLength (SchemaVersion version) noexcept
static constexpr BlockLength minimalBlockLength (SchemaVersion version) noexcept
static constexpr StrRef className () noexcept

Additional Inherited Members

Protected Member Functions inherited from SbeFields< Container, BlockLength >
 SbeFields ()=default
 ~SbeFields ()=default
Protected Member Functions inherited from BinaryBlock< Container, BlockLength >
 BinaryBlock ()=default
 ~BinaryBlock ()=default
template<typename Value>
ONIXS_ICEBOE_FORCEINLINE Value ordinary (BlockLength offset) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE std::enable_if<!isComposite< typenameNullValue::Value >::value, SbeOptional< typenameNullValue::Value, NullValue > >::type ordinary (BlockLength offset, OptionalTag) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE std::enable_if<!isComposite< typenameNullValue::Value >::value, SbeOptional< typenameNullValue::Value, NullValue > >::type ordinary (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE std::enable_if< isComposite< typenameNullValue::Value >::value, SbeOptional< typenameNullValue::Value, NullValue > >::type ordinary (BlockLength offset, OptionalTag) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE std::enable_if< isComposite< typenameNullValue::Value >::value, SbeOptional< typenameNullValue::Value, NullValue > >::type ordinary (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<typename Enumeration>
ONIXS_ICEBOE_FORCEINLINE Enumeration enumeration (BlockLength offset) const noexcept
template<typename Enumeration, typename NullValue>
ONIXS_ICEBOE_FORCEINLINE SbeOptionalEnumeration< Enumeration, NullValue > enumeration (BlockLength offset, OptionalTag) const noexcept
template<typename Enumeration, typename NullValue>
ONIXS_ICEBOE_FORCEINLINE SbeOptionalEnumeration< Enumeration, NullValue > enumeration (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<BlockLength Length>
ONIXS_ICEBOE_FORCEINLINE StrRef fixedStr (BlockLength offset) const noexcept
template<BlockLength Length>
ONIXS_ICEBOE_FORCEINLINE SbeOptionalStr fixedStr (BlockLength offset, OptionalTag) const noexcept
template<BlockLength Length>
ONIXS_ICEBOE_FORCEINLINE SbeOptionalStr fixedStr (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<typename Value>
ONIXS_ICEBOE_FORCEINLINE Value decimal (BlockLength offset) const noexcept
template<typename NullValue>
SbeOptional< typename NullValue::Value, NullValue > ONIXS_ICEBOE_FORCEINLINE decimal (BlockLength offset, OptionalTag) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE SbeOptional< typename NullValue::Value, NullValue > decimal (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<typename NullValue, typename Callable>
ONIXS_ICEBOE_FORCEINLINE std::enable_if<!isComposite< typenameNullValue::Value >::value, SbeOptionalConverted< decltype(std::declval< Callable >()(std::declval< typenameArgType< Callable >::type >()))> >::type convertible (BlockLength offset, OptionalTag) const noexcept(noexcept(Callable::Nothrow))
template<typename Callable>
ONIXS_ICEBOE_FORCEINLINE auto convertible (BlockLength offset) const noexcept(noexcept(Callable::Nothrow)) -> decltype(std::declval< Callable >()(std::declval< typename ArgType< Callable >::type >()))
Protected Member Functions inherited from BinaryBlockBase
 ~BinaryBlockBase ()=default

Detailed Description

Entry of LegsEntry repeating group.

Definition at line 13674 of file Messages.h.

Member Typedef Documentation

◆ Base

Base class type.

Definition at line 13686 of file Messages.h.

◆ ThisType

This type alias.

Definition at line 13689 of file Messages.h.

Constructor & Destructor Documentation

◆ LegsEntry()

LegsEntry ( void * data,
EncodedLength length,
SchemaVersion version )
inline

Initializes instance of given version over given memory block.

Definition at line 13693 of file Messages.h.

13694 : Base(data, numericCast<Base::BlockLength>(length), version)
13695 {
13696 assert(version >= Schema::MinimalVersion);
13697 assert(length >= minimalBlockLength(version));
13698 }

Member Function Documentation

◆ blockLength()

constexpr BlockLength blockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept
Returns
size of entry body in bytes for given version of message template.

Definition at line 13930 of file Messages.h.

13931 {
13932 return
13933 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
13934 minimalBlockLength(version);
13935 }

◆ className()

constexpr StrRef className ( )
inlinestaticconstexprnoexcept

Entity class name.

Definition at line 13950 of file Messages.h.

13951 {
13952 return constructStrRef("NewOrderCrossRequest.LegsEntry");
13953 }
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
Definition StrRef.h:414

◆ legMemoField() [1/3]

auto legMemoField ( ) const
inlinenoexcept

Provides access to legMemoField field.

Definition at line 13871 of file Messages.h.

13872 {
13873 constexpr BlockLength offset = 26;
13874 constexpr BlockLength length = 12;
13875
13876 return fixedStr<length>(offset, optional);
13877 }

◆ legMemoField() [2/3]

ThisType & legMemoField ( NullOpt )
inlinenoexcept

Definition at line 13889 of file Messages.h.

13890 {
13891 constexpr BlockLength offset = 26;
13892 constexpr BlockLength length = 12;
13893
13894 setFixedStr<length>(offset, StrRef());
13895 return *this;
13896 }
std::basic_string_view< Char > StrRef
Definition StrRef.h:46

◆ legMemoField() [3/3]

ThisType & legMemoField ( StrRef value)
inlinenoexcept

Provides access to legMemoField field.

Definition at line 13880 of file Messages.h.

13881 {
13882 constexpr BlockLength offset = 26;
13883 constexpr BlockLength length = 12;
13884
13885 setFixedStr<length>(offset, value);
13886 return *this;
13887 }

◆ legOptAttribute() [1/3]

auto legOptAttribute ( ) const
inlinenoexcept

int32NULL.

Definition at line 13775 of file Messages.h.

13776 {
13777 constexpr BlockLength offset = 5;
13778
13779 return ordinary<NullInt32NULL>(offset, optional);
13780 }

◆ legOptAttribute() [2/3]

ThisType & legOptAttribute ( Int32NULL value)
inlinenoexcept

int32NULL.

Definition at line 13783 of file Messages.h.

13784 {
13785 constexpr BlockLength offset = 5;
13786
13787 setOrdinary(offset, value);
13788 return *this;
13789 }

◆ legOptAttribute() [3/3]

ThisType & legOptAttribute ( NullOpt )
inlinenoexcept

Definition at line 13791 of file Messages.h.

13792 {
13793 constexpr BlockLength offset = 5;
13794
13795 setOrdinary(offset, NullInt32NULL());
13796 return *this;
13797 }
IntegralConstant< Int32, -2147483647-1 > NullInt32NULL
Null value for an optional Int32NULL field.
Definition Fields.h:994

◆ legPrice() [1/3]

auto legPrice ( ) const
inlinenoexcept

Quantity, Price with constant exponent -9.

Definition at line 13827 of file Messages.h.

13828 {
13829 constexpr BlockLength offset = 17;
13830
13831 return ordinary<NullDecimal9>(offset, optional);
13832 }

◆ legPrice() [2/3]

ThisType & legPrice ( Decimal9 value)
inlinenoexcept

Quantity, Price with constant exponent -9.

Definition at line 13835 of file Messages.h.

13836 {
13837 constexpr BlockLength offset = 17;
13838
13839 setOrdinary(offset, value);
13840 return *this;
13841 }

◆ legPrice() [3/3]

ThisType & legPrice ( NullOpt )
inlinenoexcept

Definition at line 13843 of file Messages.h.

13844 {
13845 constexpr BlockLength offset = 17;
13846
13847 setOrdinary(offset, NullDecimal9());
13848 return *this;
13849 }
IntegralConstant< Int64, -9223372036854775807LL-1 > NullDecimal9
Null value for an optional Decimal9 field.
Definition Fields.h:958

◆ legQty() [1/3]

auto legQty ( ) const
inlinenoexcept

Quantity, Price with constant exponent -9.

Definition at line 13801 of file Messages.h.

13802 {
13803 constexpr BlockLength offset = 9;
13804
13805 return ordinary<NullDecimal9>(offset, optional);
13806 }

◆ legQty() [2/3]

ThisType & legQty ( Decimal9 value)
inlinenoexcept

Quantity, Price with constant exponent -9.

Definition at line 13809 of file Messages.h.

13810 {
13811 constexpr BlockLength offset = 9;
13812
13813 setOrdinary(offset, value);
13814 return *this;
13815 }

◆ legQty() [3/3]

ThisType & legQty ( NullOpt )
inlinenoexcept

Definition at line 13817 of file Messages.h.

13818 {
13819 constexpr BlockLength offset = 9;
13820
13821 setOrdinary(offset, NullDecimal9());
13822 return *this;
13823 }

◆ legSecurityId() [1/3]

auto legSecurityId ( ) const
inlinenoexcept

Provides access to legSecurityID field.

Definition at line 13900 of file Messages.h.

13901 {
13902 constexpr BlockLength offset = 38;
13903 constexpr BlockLength length = 75;
13904
13905 return fixedStr<length>(offset, optional);
13906 }

◆ legSecurityId() [2/3]

ThisType & legSecurityId ( NullOpt )
inlinenoexcept

Definition at line 13918 of file Messages.h.

13919 {
13920 constexpr BlockLength offset = 38;
13921 constexpr BlockLength length = 75;
13922
13923 setFixedStr<length>(offset, StrRef());
13924 return *this;
13925 }

◆ legSecurityId() [3/3]

ThisType & legSecurityId ( StrRef value)
inlinenoexcept

Provides access to legSecurityID field.

Definition at line 13909 of file Messages.h.

13910 {
13911 constexpr BlockLength offset = 38;
13912 constexpr BlockLength length = 75;
13913
13914 setFixedStr<length>(offset, value);
13915 return *this;
13916 }

◆ legSecurityIdSource() [1/3]

auto legSecurityIdSource ( ) const
inlinenoexcept

int8NULL.

Definition at line 13749 of file Messages.h.

13750 {
13751 constexpr BlockLength offset = 4;
13752
13753 return ordinary<NullInt8NULL>(offset, optional);
13754 }

◆ legSecurityIdSource() [2/3]

ThisType & legSecurityIdSource ( Int8NULL value)
inlinenoexcept

int8NULL.

Definition at line 13757 of file Messages.h.

13758 {
13759 constexpr BlockLength offset = 4;
13760
13761 setOrdinary(offset, value);
13762 return *this;
13763 }

◆ legSecurityIdSource() [3/3]

ThisType & legSecurityIdSource ( NullOpt )
inlinenoexcept

Definition at line 13765 of file Messages.h.

13766 {
13767 constexpr BlockLength offset = 4;
13768
13769 setOrdinary(offset, NullInt8NULL());
13770 return *this;
13771 }
IntegralConstant< Int8, -128 > NullInt8NULL
Null value for an optional Int8NULL field.
Definition Fields.h:982

◆ legSecurityType() [1/2]

auto legSecurityType ( ) const
inlinenoexcept

Provides access to legSecurityType field.

Definition at line 13853 of file Messages.h.

13854 {
13855 constexpr BlockLength offset = 25;
13856
13857 return enumeration<SecurityTypeEnum>(offset);
13858 }

◆ legSecurityType() [2/2]

ThisType & legSecurityType ( SecurityTypeEnum value)
inlinenoexcept

Provides access to legSecurityType field.

Definition at line 13861 of file Messages.h.

13862 {
13863 constexpr BlockLength offset = 25;
13864
13865 setEnumeration<SecurityTypeEnum>(offset, value);
13866 return *this;
13867 }

◆ legSymbol() [1/3]

auto legSymbol ( ) const
inlinenoexcept

int32NULL.

Definition at line 13723 of file Messages.h.

13724 {
13725 constexpr BlockLength offset = 0;
13726
13727 return ordinary<NullInt32NULL>(offset, optional);
13728 }

◆ legSymbol() [2/3]

ThisType & legSymbol ( Int32NULL value)
inlinenoexcept

int32NULL.

Definition at line 13731 of file Messages.h.

13732 {
13733 constexpr BlockLength offset = 0;
13734
13735 setOrdinary(offset, value);
13736 return *this;
13737 }

◆ legSymbol() [3/3]

ThisType & legSymbol ( NullOpt )
inlinenoexcept

Definition at line 13739 of file Messages.h.

13740 {
13741 constexpr BlockLength offset = 0;
13742
13743 setOrdinary(offset, NullInt32NULL());
13744 return *this;
13745 }

◆ minimalBlockLength()

constexpr BlockLength minimalBlockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept
Returns
minimal size of entry body in bytes for given version of message template.

Definition at line 13940 of file Messages.h.

13941 {
13942 return
13943 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
13944 113;
13945 }

◆ reset()

ThisType & reset ( )
inlinenoexcept

Reset all variable-length and optional fields if any.

Definition at line 13707 of file Messages.h.

13708 {
13709 legSymbol(nullOpt);
13710 legSecurityIdSource(nullOpt);
13711 legOptAttribute(nullOpt);
13712 legQty(nullOpt);
13713 legPrice(nullOpt);
13714 legMemoField(nullOpt);
13715 legSecurityId(nullOpt);
13716
13717 resetVariableFields();
13718 return *this;
13719 }

◆ resetVariableFields()

ThisType & resetVariableFields ( )
inlinenoexcept

Reset all variable-length fields if any.

Definition at line 13701 of file Messages.h.

13702 {
13703 return *this;
13704 }