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

Public Types

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

Public Member Functions

 BlockDetailsEntry (void *data, EncodedLength length, SchemaVersion version)
ThisTyperesetVariableFields () noexcept
ThisTypereset () noexcept
auto blockDetailsBlockType () const noexcept
ThisTypeblockDetailsBlockType (BlockTypeEnum value) noexcept
auto blockDetailsTradeType () const noexcept
ThisTypeblockDetailsTradeType (StrRef value) noexcept
ThisTypeblockDetailsTradeType (NullOpt) noexcept
auto blockDetailsMinQty () const noexcept
ThisTypeblockDetailsMinQty (Decimal9 value) 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 BlockDetailsEntry repeating group.

Definition at line 1921 of file Messages.h.

Member Typedef Documentation

◆ Base

Base class type.

Definition at line 1933 of file Messages.h.

◆ ThisType

This type alias.

Definition at line 1936 of file Messages.h.

Constructor & Destructor Documentation

◆ BlockDetailsEntry()

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

Initializes instance of given version over given memory block.

Definition at line 1940 of file Messages.h.

1941 : Base(data, numericCast<Base::BlockLength>(length), version)
1942 {
1943 assert(version >= Schema::MinimalVersion);
1944 assert(length >= minimalBlockLength(version));
1945 }

Member Function Documentation

◆ blockDetailsBlockType() [1/2]

auto blockDetailsBlockType ( ) const
inlinenoexcept

Provides access to blockDetailsBlockType field.

Definition at line 1964 of file Messages.h.

1965 {
1966 constexpr BlockLength offset = 0;
1967
1968 return enumeration<BlockTypeEnum>(offset);
1969 }

◆ blockDetailsBlockType() [2/2]

ThisType & blockDetailsBlockType ( BlockTypeEnum value)
inlinenoexcept

Provides access to blockDetailsBlockType field.

Definition at line 1972 of file Messages.h.

1973 {
1974 constexpr BlockLength offset = 0;
1975
1976 setEnumeration<BlockTypeEnum>(offset, value);
1977 return *this;
1978 }

◆ blockDetailsMinQty() [1/2]

auto blockDetailsMinQty ( ) const
inlinenoexcept

Quantity, Price with constant exponent -9.

Definition at line 2011 of file Messages.h.

2012 {
2013 constexpr BlockLength offset = 4;
2014
2015 return ordinary<Decimal9>(offset);
2016 }

◆ blockDetailsMinQty() [2/2]

ThisType & blockDetailsMinQty ( Decimal9 value)
inlinenoexcept

Quantity, Price with constant exponent -9.

Definition at line 2019 of file Messages.h.

2020 {
2021 constexpr BlockLength offset = 4;
2022
2023 setOrdinary(offset, value);
2024 return *this;
2025 }

◆ blockDetailsTradeType() [1/3]

auto blockDetailsTradeType ( ) const
inlinenoexcept

Provides access to blockDetailsTradeType field.

Definition at line 1982 of file Messages.h.

1983 {
1984 constexpr BlockLength offset = 1;
1985 constexpr BlockLength length = 3;
1986
1987 return fixedStr<length>(offset, optional);
1988 }

◆ blockDetailsTradeType() [2/3]

ThisType & blockDetailsTradeType ( NullOpt )
inlinenoexcept

Definition at line 2000 of file Messages.h.

2001 {
2002 constexpr BlockLength offset = 1;
2003 constexpr BlockLength length = 3;
2004
2005 setFixedStr<length>(offset, StrRef());
2006 return *this;
2007 }
std::basic_string_view< Char > StrRef
Definition StrRef.h:46

◆ blockDetailsTradeType() [3/3]

ThisType & blockDetailsTradeType ( StrRef value)
inlinenoexcept

Provides access to blockDetailsTradeType field.

Definition at line 1991 of file Messages.h.

1992 {
1993 constexpr BlockLength offset = 1;
1994 constexpr BlockLength length = 3;
1995
1996 setFixedStr<length>(offset, value);
1997 return *this;
1998 }

◆ blockLength()

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

Definition at line 2030 of file Messages.h.

2031 {
2032 return
2033 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
2034 minimalBlockLength(version);
2035 }

◆ className()

constexpr StrRef className ( )
inlinestaticconstexprnoexcept

Entity class name.

Definition at line 2050 of file Messages.h.

2051 {
2052 return constructStrRef("SecurityDefinitionReport_Strategy.BlockDetailsEntry");
2053 }
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
Definition StrRef.h:414

◆ minimalBlockLength()

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

Definition at line 2040 of file Messages.h.

2041 {
2042 return
2043 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
2044 12;
2045 }

◆ reset()

ThisType & reset ( )
inlinenoexcept

Reset all variable-length and optional fields if any.

Definition at line 1954 of file Messages.h.

1955 {
1956 blockDetailsTradeType(nullOpt);
1957
1958 resetVariableFields();
1959 return *this;
1960 }

◆ resetVariableFields()

ThisType & resetVariableFields ( )
inlinenoexcept

Reset all variable-length fields if any.

Definition at line 1948 of file Messages.h.

1949 {
1950 return *this;
1951 }