OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
SecurityDefinitionReport_Strategy::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 (Int32 value) noexcept
auto legSecurityType () const noexcept
ThisTypelegSecurityType (SecurityTypeEnum value) noexcept
auto legSecuritySubType () const noexcept
ThisTypelegSecuritySubType (Int16NULL value) noexcept
ThisTypelegSecuritySubType (NullOpt) noexcept
auto legSide () const noexcept
ThisTypelegSide (SideEnum value) noexcept
auto legPrice () const noexcept
ThisTypelegPrice (Decimal9 value) noexcept
ThisTypelegPrice (NullOpt) noexcept
auto legOptionDelta () const noexcept
ThisTypelegOptionDelta (Int32NULL value) noexcept
ThisTypelegOptionDelta (NullOpt) noexcept
auto legRatioQtyDenominator () const noexcept
ThisTypelegRatioQtyDenominator (Int16 value) noexcept
auto legRatioQtyNumerator () const noexcept
ThisTypelegRatioQtyNumerator (Int16 value) noexcept
auto legRatioPriceDenominator () const noexcept
ThisTypelegRatioPriceDenominator (Int16 value) noexcept
auto legRatioPriceNumerator () const noexcept
ThisTypelegRatioPriceNumerator (Int16 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 LegsEntry repeating group.

Definition at line 2201 of file Messages.h.

Member Typedef Documentation

◆ Base

Base class type.

Definition at line 2213 of file Messages.h.

◆ ThisType

This type alias.

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

2221 : Base(data, numericCast<Base::BlockLength>(length), version)
2222 {
2223 assert(version >= Schema::MinimalVersion);
2224 assert(length >= minimalBlockLength(version));
2225 }

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 2451 of file Messages.h.

2452 {
2453 return
2454 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
2455 minimalBlockLength(version);
2456 }

◆ className()

constexpr StrRef className ( )
inlinestaticconstexprnoexcept

Entity class name.

Definition at line 2471 of file Messages.h.

2472 {
2473 return constructStrRef("SecurityDefinitionReport_Strategy.LegsEntry");
2474 }
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
Definition StrRef.h:414

◆ legOptionDelta() [1/3]

auto legOptionDelta ( ) const
inlinenoexcept

Required if legSecurityType is FUT or CS.

Definition at line 2352 of file Messages.h.

2353 {
2354 constexpr BlockLength offset = 16;
2355
2356 return ordinary<NullInt32NULL>(offset, optional);
2357 }

◆ legOptionDelta() [2/3]

ThisType & legOptionDelta ( Int32NULL value)
inlinenoexcept

Required if legSecurityType is FUT or CS.

Definition at line 2360 of file Messages.h.

2361 {
2362 constexpr BlockLength offset = 16;
2363
2364 setOrdinary(offset, value);
2365 return *this;
2366 }

◆ legOptionDelta() [3/3]

ThisType & legOptionDelta ( NullOpt )
inlinenoexcept

Definition at line 2368 of file Messages.h.

2369 {
2370 constexpr BlockLength offset = 16;
2371
2372 setOrdinary(offset, NullInt32NULL());
2373 return *this;
2374 }
IntegralConstant< Int32, -2147483647-1 > NullInt32NULL
Null value for an optional Int32NULL field.
Definition Fields.h:994

◆ legPrice() [1/3]

auto legPrice ( ) const
inlinenoexcept

Required if legSecurityType is FUT.

Definition at line 2326 of file Messages.h.

2327 {
2328 constexpr BlockLength offset = 8;
2329
2330 return ordinary<NullDecimal9>(offset, optional);
2331 }

◆ legPrice() [2/3]

ThisType & legPrice ( Decimal9 value)
inlinenoexcept

Required if legSecurityType is FUT.

Definition at line 2334 of file Messages.h.

2335 {
2336 constexpr BlockLength offset = 8;
2337
2338 setOrdinary(offset, value);
2339 return *this;
2340 }

◆ legPrice() [3/3]

ThisType & legPrice ( NullOpt )
inlinenoexcept

Definition at line 2342 of file Messages.h.

2343 {
2344 constexpr BlockLength offset = 8;
2345
2346 setOrdinary(offset, NullDecimal9());
2347 return *this;
2348 }
IntegralConstant< Int64, -9223372036854775807LL-1 > NullDecimal9
Null value for an optional Decimal9 field.
Definition Fields.h:958

◆ legRatioPriceDenominator() [1/2]

auto legRatioPriceDenominator ( ) const
inlinenoexcept

Provides access to legRatioPriceDenominator field.

Definition at line 2414 of file Messages.h.

2415 {
2416 constexpr BlockLength offset = 24;
2417
2418 return ordinary<Int16>(offset);
2419 }

◆ legRatioPriceDenominator() [2/2]

ThisType & legRatioPriceDenominator ( Int16 value)
inlinenoexcept

Provides access to legRatioPriceDenominator field.

Definition at line 2422 of file Messages.h.

2423 {
2424 constexpr BlockLength offset = 24;
2425
2426 setOrdinary(offset, value);
2427 return *this;
2428 }

◆ legRatioPriceNumerator() [1/2]

auto legRatioPriceNumerator ( ) const
inlinenoexcept

Provides access to legRatioPriceNumerator field.

Definition at line 2432 of file Messages.h.

2433 {
2434 constexpr BlockLength offset = 26;
2435
2436 return ordinary<Int16>(offset);
2437 }

◆ legRatioPriceNumerator() [2/2]

ThisType & legRatioPriceNumerator ( Int16 value)
inlinenoexcept

Provides access to legRatioPriceNumerator field.

Definition at line 2440 of file Messages.h.

2441 {
2442 constexpr BlockLength offset = 26;
2443
2444 setOrdinary(offset, value);
2445 return *this;
2446 }

◆ legRatioQtyDenominator() [1/2]

auto legRatioQtyDenominator ( ) const
inlinenoexcept

Provides access to legRatioQtyDenominator field.

Definition at line 2378 of file Messages.h.

2379 {
2380 constexpr BlockLength offset = 20;
2381
2382 return ordinary<Int16>(offset);
2383 }

◆ legRatioQtyDenominator() [2/2]

ThisType & legRatioQtyDenominator ( Int16 value)
inlinenoexcept

Provides access to legRatioQtyDenominator field.

Definition at line 2386 of file Messages.h.

2387 {
2388 constexpr BlockLength offset = 20;
2389
2390 setOrdinary(offset, value);
2391 return *this;
2392 }

◆ legRatioQtyNumerator() [1/2]

auto legRatioQtyNumerator ( ) const
inlinenoexcept

Provides access to legRatioQtyNumerator field.

Definition at line 2396 of file Messages.h.

2397 {
2398 constexpr BlockLength offset = 22;
2399
2400 return ordinary<Int16>(offset);
2401 }

◆ legRatioQtyNumerator() [2/2]

ThisType & legRatioQtyNumerator ( Int16 value)
inlinenoexcept

Provides access to legRatioQtyNumerator field.

Definition at line 2404 of file Messages.h.

2405 {
2406 constexpr BlockLength offset = 22;
2407
2408 setOrdinary(offset, value);
2409 return *this;
2410 }

◆ legSecuritySubType() [1/3]

auto legSecuritySubType ( ) const
inlinenoexcept

int16NULL.

Definition at line 2282 of file Messages.h.

2283 {
2284 constexpr BlockLength offset = 5;
2285
2286 return ordinary<NullInt16NULL>(offset, optional);
2287 }

◆ legSecuritySubType() [2/3]

ThisType & legSecuritySubType ( Int16NULL value)
inlinenoexcept

int16NULL.

Definition at line 2290 of file Messages.h.

2291 {
2292 constexpr BlockLength offset = 5;
2293
2294 setOrdinary(offset, value);
2295 return *this;
2296 }

◆ legSecuritySubType() [3/3]

ThisType & legSecuritySubType ( NullOpt )
inlinenoexcept

Definition at line 2298 of file Messages.h.

2299 {
2300 constexpr BlockLength offset = 5;
2301
2302 setOrdinary(offset, NullInt16NULL());
2303 return *this;
2304 }
IntegralConstant< Int16, -32768 > NullInt16NULL
Null value for an optional Int16NULL field.
Definition Fields.h:988

◆ legSecurityType() [1/2]

auto legSecurityType ( ) const
inlinenoexcept

Provides access to legSecurityType field.

Definition at line 2264 of file Messages.h.

2265 {
2266 constexpr BlockLength offset = 4;
2267
2268 return enumeration<SecurityTypeEnum>(offset);
2269 }

◆ legSecurityType() [2/2]

ThisType & legSecurityType ( SecurityTypeEnum value)
inlinenoexcept

Provides access to legSecurityType field.

Definition at line 2272 of file Messages.h.

2273 {
2274 constexpr BlockLength offset = 4;
2275
2276 setEnumeration<SecurityTypeEnum>(offset, value);
2277 return *this;
2278 }

◆ legSide() [1/2]

auto legSide ( ) const
inlinenoexcept

Provides access to legSide field.

Definition at line 2308 of file Messages.h.

2309 {
2310 constexpr BlockLength offset = 7;
2311
2312 return enumeration<SideEnum>(offset);
2313 }

◆ legSide() [2/2]

ThisType & legSide ( SideEnum value)
inlinenoexcept

Provides access to legSide field.

Definition at line 2316 of file Messages.h.

2317 {
2318 constexpr BlockLength offset = 7;
2319
2320 setEnumeration<SideEnum>(offset, value);
2321 return *this;
2322 }

◆ legSymbol() [1/2]

auto legSymbol ( ) const
inlinenoexcept

Provides access to legSymbol field.

Definition at line 2246 of file Messages.h.

2247 {
2248 constexpr BlockLength offset = 0;
2249
2250 return ordinary<Int32>(offset);
2251 }

◆ legSymbol() [2/2]

ThisType & legSymbol ( Int32 value)
inlinenoexcept

Provides access to legSymbol field.

Definition at line 2254 of file Messages.h.

2255 {
2256 constexpr BlockLength offset = 0;
2257
2258 setOrdinary(offset, value);
2259 return *this;
2260 }

◆ minimalBlockLength()

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

Definition at line 2461 of file Messages.h.

2462 {
2463 return
2464 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
2465 28;
2466 }

◆ reset()

ThisType & reset ( )
inlinenoexcept

Reset all variable-length and optional fields if any.

Definition at line 2234 of file Messages.h.

2235 {
2236 legSecuritySubType(nullOpt);
2237 legPrice(nullOpt);
2238 legOptionDelta(nullOpt);
2239
2240 resetVariableFields();
2241 return *this;
2242 }

◆ resetVariableFields()

ThisType & resetVariableFields ( )
inlinenoexcept

Reset all variable-length fields if any.

Definition at line 2228 of file Messages.h.

2229 {
2230 return *this;
2231 }