OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
SecurityDefinitionReport::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 4247 of file Messages.h.

Member Typedef Documentation

◆ Base

Base class type.

Definition at line 4259 of file Messages.h.

◆ ThisType

This type alias.

Definition at line 4262 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 4266 of file Messages.h.

4267 : Base(data, numericCast<Base::BlockLength>(length), version)
4268 {
4269 assert(version >= Schema::MinimalVersion);
4270 assert(length >= minimalBlockLength(version));
4271 }

Member Function Documentation

◆ blockDetailsBlockType() [1/2]

auto blockDetailsBlockType ( ) const
inlinenoexcept

Provides access to blockDetailsBlockType field.

Definition at line 4290 of file Messages.h.

4291 {
4292 constexpr BlockLength offset = 0;
4293
4294 return enumeration<BlockTypeEnum>(offset);
4295 }

◆ blockDetailsBlockType() [2/2]

ThisType & blockDetailsBlockType ( BlockTypeEnum value)
inlinenoexcept

Provides access to blockDetailsBlockType field.

Definition at line 4298 of file Messages.h.

4299 {
4300 constexpr BlockLength offset = 0;
4301
4302 setEnumeration<BlockTypeEnum>(offset, value);
4303 return *this;
4304 }

◆ blockDetailsMinQty() [1/2]

auto blockDetailsMinQty ( ) const
inlinenoexcept

Quantity, Price with constant exponent -9.

Definition at line 4337 of file Messages.h.

4338 {
4339 constexpr BlockLength offset = 4;
4340
4341 return ordinary<Decimal9>(offset);
4342 }

◆ blockDetailsMinQty() [2/2]

ThisType & blockDetailsMinQty ( Decimal9 value)
inlinenoexcept

Quantity, Price with constant exponent -9.

Definition at line 4345 of file Messages.h.

4346 {
4347 constexpr BlockLength offset = 4;
4348
4349 setOrdinary(offset, value);
4350 return *this;
4351 }

◆ blockDetailsTradeType() [1/3]

auto blockDetailsTradeType ( ) const
inlinenoexcept

Provides access to blockDetailsTradeType field.

Definition at line 4308 of file Messages.h.

4309 {
4310 constexpr BlockLength offset = 1;
4311 constexpr BlockLength length = 3;
4312
4313 return fixedStr<length>(offset, optional);
4314 }

◆ blockDetailsTradeType() [2/3]

ThisType & blockDetailsTradeType ( NullOpt )
inlinenoexcept

Definition at line 4326 of file Messages.h.

4327 {
4328 constexpr BlockLength offset = 1;
4329 constexpr BlockLength length = 3;
4330
4331 setFixedStr<length>(offset, StrRef());
4332 return *this;
4333 }
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 4317 of file Messages.h.

4318 {
4319 constexpr BlockLength offset = 1;
4320 constexpr BlockLength length = 3;
4321
4322 setFixedStr<length>(offset, value);
4323 return *this;
4324 }

◆ blockLength()

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

Definition at line 4356 of file Messages.h.

4357 {
4358 return
4359 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
4360 minimalBlockLength(version);
4361 }

◆ className()

constexpr StrRef className ( )
inlinestaticconstexprnoexcept

Entity class name.

Definition at line 4376 of file Messages.h.

4377 {
4378 return constructStrRef("SecurityDefinitionReport.BlockDetailsEntry");
4379 }
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 4366 of file Messages.h.

4367 {
4368 return
4369 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
4370 12;
4371 }

◆ reset()

ThisType & reset ( )
inlinenoexcept

Reset all variable-length and optional fields if any.

Definition at line 4280 of file Messages.h.

4281 {
4282 blockDetailsTradeType(nullOpt);
4283
4284 resetVariableFields();
4285 return *this;
4286 }

◆ resetVariableFields()

ThisType & resetVariableFields ( )
inlinenoexcept

Reset all variable-length fields if any.

Definition at line 4274 of file Messages.h.

4275 {
4276 return *this;
4277 }