OnixS C++ FIX Engine 4.13.0
API Documentation
Loading...
Searching...
No Matches
SbeCustomization.h
Go to the documentation of this file.
1#pragma once
2/*
3* Copyright Onix Solutions Limited [OnixS]. All rights reserved.
4*
5* This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
6* and international copyright treaties.
7*
8* Access to and use of the software is governed by the terms of the applicable ONIXS Software
9* Services Agreement (the Agreement) and Customer end user license agreements granting
10* a non-assignable, non-transferable and non-exclusive license to use the software
11* for it's own data processing purposes under the terms defined in the Agreement.
12*
13* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
14* of this source code or associated reference material to any other location for further reproduction
15* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
16*
17* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18* the terms of the Agreement is a violation of copyright law.
19*/
20
21#include <cstddef>
22#include <string>
23#include <limits>
24
25#include <OnixS/FIXEngine/ABI.h>
30
31namespace OnixS {
32namespace FIX {
35
36namespace SBE {
37
40
43
45const SbeWireSize UnusedWireSizeValue = (std::numeric_limits<SbeWireSize>::max)();
46
59};
60
70};
71
74 enum Enum {
77
80
83
86
89
92
95
98
101
104
107
110 };
111};
112
219
220class SbeSchemaMetaData;
221
224{
225public:
228
230 virtual const std::string &name() const = 0;
231
233 virtual const std::string &description() const = 0;
234};
235
238{
239public:
241 virtual bool hasSchema() const = 0;
242
248 virtual SbeSchemaMetaData schema() const = 0;
249};
250
254class ONIXS_FIXENGINE_API SbeNamedValueMetaData : public ISchemaMember
255{
256public:
258 const std::string& name() const ONIXS_FIXENGINE_OVERRIDE;
259
262
265
268
270 const std::string& value() const;
271private:
272 friend SbeNamedValueMetaData createSbeNamedValueMetaData(const void*);
273 SbeNamedValueMetaData() {}
274 SbeNamedValueMetaData(const void*);
275 const void* details_;
276};
277
279class ONIXS_FIXENGINE_API SbeTypeMetaData : public ISchemaMember
280{
281public:
283 const std::string& name() const ONIXS_FIXENGINE_OVERRIDE;
284
287
290
293
295 unsigned sinceVersion() const;
296
298 bool isSet() const;
299
301 bool isEnumeration() const;
302
304 bool isComposite() const;
305
309 bool isSimple() const;
310
312 bool isArray() const;
313
316
321
324
327
329 SbePresence::Enum presence() const;
330
334 const std::string& nullValue() const;
335
339 const std::string& minValue() const;
340
344 const std::string& maxValue() const;
345
349 const std::string& constValue() const;
350
353
355 const std::string& rawSemanticType() const;
356
358 const std::string& timeEpoch() const;
359
361 const std::string& timeUnit() const;
362
364 size_t noOfMembers() const;
365
367 SbeTypeMetaData member(size_t) const;
368
370 size_t noOfValues() const;
371
374private:
375 friend SbeTypeMetaData createSbeTypeMetaData(const void*);
376 SbeTypeMetaData() {}
377 SbeTypeMetaData(const void*);
378 const void *details_;
379};
380
382class ONIXS_FIXENGINE_API SbeFieldSetMetaData : public ISchemaMember
383{
384public:
386 const std::string& name() const ONIXS_FIXENGINE_OVERRIDE;
387
390
393
396
398 bool hasParent() const;
399
404 const SbeFieldSetMetaData parent() const;
405
409 int tag() const;
410
412 bool isGroup() const;
413
415 bool isMessage() const;
416
419
421 const std::string& messageSemanticType() const;
422private:
423 friend SbeFieldSetMetaData createSbeFieldSetMetaData(const void*);
424 SbeFieldSetMetaData() {}
425 SbeFieldSetMetaData(const void*);
426 const void* details_;
427};
428
429class ONIXS_FIXENGINE_API SbeFieldMetaData : public ISchemaMember
430{
431public:
433 const std::string& name() const ONIXS_FIXENGINE_OVERRIDE;
434
437
440
443
446
448 int tag() const;
449
451 bool isGroup() const;
452
457
460private:
461 friend SbeFieldMetaData createSbeFieldMetaData(const void*);
462 SbeFieldMetaData() {}
463 SbeFieldMetaData(const void*);
464 const void* details_;
465};
466
468class ONIXS_FIXENGINE_API SbeSchemaMetaData : public ISbeNameDescription
469{
470public:
472 const std::string& name() const ONIXS_FIXENGINE_OVERRIDE;
473
478
482 UInt32 id() const;
483
487 const std::string& package() const;
488
492 unsigned version() const;
493
497 const std::string& semanticVersion() const;
498
503
505 bool hasHeaderType() const;
506
509private:
510 friend SbeSchemaMetaData createSbeSchemaMetaData(const void*);
511 SbeSchemaMetaData() {}
512 SbeSchemaMetaData(const void*);
513 const void* details_;
514};
515
516class ISbeManageCodingParameters;
517class ISbeFieldDecoder;
518class ISbeGroupDimensionDecoder;
519class ISbeCompositeDecoder;
520class ISbeFieldEncoder;
521class ISbeGroupDimensionEncoder;
522class ISbeCompositeEncoder;
523
529class ONIXS_FIXENGINE_API SbeFieldCodingSettings
530{
531public:
533
539
543
547
556
560
564private:
565 friend SbeFieldCodingSettings createSbeFieldCodingSettings(void*);
566 SbeFieldCodingSettings() {}
568 void* details_;
569};
570
573{
574public:
577
582
589 virtual void attach(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner) {}
590
597 virtual void detach(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner) {}
599
600
606
615 virtual void queryCodingControl(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner,
616 ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field,
617 ONIXS_FIXENGINE_UNUSED SbeFieldCodingSettings settings) {}
618
619
625
636 virtual ISbeFieldDecoder* queryDecoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner,
637 ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field) { return ONIXS_FIXENGINE_NULLPTR; }
638
650 ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData field) { return ONIXS_FIXENGINE_NULLPTR; }
651
657 virtual ISbeCompositeDecoder* queryDecoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeTypeMetaData composite) { return ONIXS_FIXENGINE_NULLPTR; }
659
664
675 virtual ISbeFieldEncoder* queryEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field) { return ONIXS_FIXENGINE_NULLPTR; }
676
687 virtual ISbeGroupDimensionEncoder* queryGroupDimensionEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData group) { return ONIXS_FIXENGINE_NULLPTR; }
688
695 virtual ISbeCompositeEncoder* queryEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeTypeMetaData composite) { return ONIXS_FIXENGINE_NULLPTR; }
697};
698
704class ONIXS_FIXENGINE_API SbeFieldDecoderOutput
705{
706public:
708
711
713 void setNull();
714
716 void setChar(char value);
717
719 void set(Int16 value);
720
722 void set(UInt16 value);
723
725 void set(Int32 value);
726
728 void set(UInt32 value);
729
731 void set(Int64 value);
732
734 void set(UInt64 value);
735
737 void set(float value);
738
740 void set(double value);
741
743 void set(const void* value, SbeWireSize length);
744
746 void set(const char* value, SbeWireSize length);
747private:
748 friend SbeFieldDecoderOutput createSbeFieldDecoderOutput(void*);
749 SbeFieldDecoderOutput() {}
751 void* details_;
752};
753
759class ONIXS_FIXENGINE_API SbeGroupDimensionOutput
760{
761public:
764
767
774 void set(SbeWireSize blockLength, SbeWireSize itemCount, SbeWireSize numGroups = UnusedWireSizeValue, SbeWireSize numVarDataFields = UnusedWireSizeValue);
775private:
776 friend SbeGroupDimensionOutput createSbeGroupDimensionOutput(void*);
777 SbeGroupDimensionOutput() {}
779 void* details_;
780};
781
788class ONIXS_FIXENGINE_API SbeSpecialCompositeOutput
789{
790public:
793
796
805 void setMessageHeader(SbeWireSize blockLength, unsigned templateId,
806 UInt32 schemaId, unsigned schemaVersion,
808 SbeWireSize numVarDataFields = UnusedWireSizeValue);
809private:
810 friend SbeSpecialCompositeOutput createSbeSpecialCompositeOutput(void*);
811 SbeSpecialCompositeOutput() {}
813 void* details_;
814};
815
822{
823public:
826
837 virtual size_t decode(SbeFieldDecoderOutput output, unsigned version, const void* data, size_t available) = 0;
838};
839
846{
847public:
850
861 virtual size_t decode(SbeGroupDimensionOutput output, unsigned version, const void* data, size_t available) = 0;
862};
863
864
869{
870public:
873
883 virtual size_t decode(SbeSpecialCompositeOutput output, unsigned version, const void* data, size_t available) = 0;
884};
885
887class ONIXS_FIXENGINE_API SbeBinaryOutputStream
888{
889public:
891
899 void put(const void* data, SbeWireSize size);
900private:
901 friend SbeBinaryOutputStream createSbeBinaryOutputStream(void*);
902 SbeBinaryOutputStream() {}
904 void* details_;
905};
906
909{
910public:
912
914 Tag tag() const;
915
918
920 bool present() const;
921
923 bool toString(std::string&) const;
924
926 bool toChar(Char&) const;
927
929 bool toNumber(Int32&) const;
930
932 bool toNumber(UInt32&) const;
933
935 bool toNumber(Int64&) const;
936
938 bool toNumber(UInt64&) const;
939
941 bool toNumber(Double&) const;
942
944 bool toNumber(Decimal&) const;
945
948 TimestampFormat::Enum = TimestampFormat::YYYYMMDDHHMMSSNsec) const;
949
952 TimeSpanFormat::Enum = TimeSpanFormat::HHMMSSMsec) const;
953protected:
954 friend SbeConstFieldAccess createSbeConstFieldAccess(Tag tag, const void*, const void*);
956 SbeConstFieldAccess(Tag tag, const void*, const void*);
958 const void* details_;
959 const void* details2_;
960};
961
1000
1030
1037{
1038public:
1040
1045 virtual SbeWireSize queryFixedSize(unsigned version) = 0;
1046
1057 virtual void encode(SbeBinaryOutputStream out, unsigned version, const SbeConstFieldAccess &field) = 0;
1058};
1059
1064{
1065public:
1067
1075 virtual void encode(SbeBinaryOutputStream out, unsigned version, SbeSpecialCompositeInput input) = 0;
1076};
1077
1098
1099}
1100}
1101}
#define ONIXS_FIXENGINE_API_DECL(typeKind, typeName)
Definition ABI.h:57
#define ONIXS_FIXENGINE_API
Definition ABI.h:45
#define ONIXS_FIXENGINE_DEFAULT
Definition Compiler.h:194
#define ONIXS_FIXENGINE_NULLPTR
Definition Compiler.h:200
#define ONIXS_FIXENGINE_OVERRIDE
Definition Compiler.h:191
The Decimal type for a better precision.
Definition Numeric.h:48
Identifies the FIX messages dictionary.
Definition Dictionary.h:74
Encapsulates operations over a FIX Message.
Definition Message.h:52
The interface of the custom decoder for composites that are not used inside of FIX messages.
virtual size_t decode(SbeSpecialCompositeOutput output, unsigned version, const void *data, size_t available)=0
Decode composite data.
virtual ~ISbeCompositeDecoder() ONIXS_FIXENGINE_DEFAULT
The virtual destructor.
The interface of the custom encoder for composites that are not used inside of FIX messages.
virtual void encode(SbeBinaryOutputStream out, unsigned version, SbeSpecialCompositeInput input)=0
The encode composite data.
virtual ~ISbeCompositeEncoder() ONIXS_FIXENGINE_DEFAULT
The library that contains user-defined SBE coders.
virtual void attach(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner)
Attach the SBE coder to the library.
virtual ISbeGroupDimensionDecoder * queryGroupDimensionDecoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData field)
Request for the custom decoder of the group dimension.
virtual ISbeGroupDimensionEncoder * queryGroupDimensionEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData group)
Request for the custom encoder of the group dimension.
virtual ISbeCompositeDecoder * queryDecoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeTypeMetaData composite)
Request for the custom decoder of the separate composite.
virtual ISbeFieldEncoder * queryEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field)
Request for the custom encoder.
virtual ISbeFieldDecoder * queryDecoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field)
Request for the custom decoder.
virtual ISbeCompositeEncoder * queryEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeTypeMetaData composite)
Request for the custom encoder of the separate composite.
virtual void queryCodingControl(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field, ONIXS_FIXENGINE_UNUSED SbeFieldCodingSettings settings)
Query for manage modes of the coding.
virtual void detach(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner)
Detaches the coder from the library.
virtual ~ISbeCustomCoderLibrary() ONIXS_FIXENGINE_DEFAULT
The destructor.
The interface of the custom decoder for the FIX field.
virtual size_t decode(SbeFieldDecoderOutput output, unsigned version, const void *data, size_t available)=0
Decode data for the field.
virtual ~ISbeFieldDecoder() ONIXS_FIXENGINE_DEFAULT
The destructor.
The interface of custom encoder for the FIX field.
virtual SbeWireSize queryFixedSize(unsigned version)=0
Query for the size of the encoded field.
virtual ~ISbeFieldEncoder() ONIXS_FIXENGINE_DEFAULT
virtual void encode(SbeBinaryOutputStream out, unsigned version, const SbeConstFieldAccess &field)=0
Encodes the FIX field to the binary stream.
The interface of the custom decoder for the group dimension composite.
virtual ~ISbeGroupDimensionDecoder() ONIXS_FIXENGINE_DEFAULT
The virtual destructor.
virtual size_t decode(SbeGroupDimensionOutput output, unsigned version, const void *data, size_t available)=0
Decode the group size data.
The interface of the custom encoder for the group dimension composite.
virtual ~ISbeGroupDimensionEncoder() ONIXS_FIXENGINE_DEFAULT
virtual void encode(SbeBinaryOutputStream out, unsigned version, SbeGroupDimensionInput input)=0
Encodes the group size data.
The name and the description of an SBE entity.
virtual const std::string & name() const =0
The name of the entity.
virtual ~ISbeNameDescription() ONIXS_FIXENGINE_DEFAULT
The destructor.
virtual const std::string & description() const =0
The description of the entity.
An SBE entity that can be bound to the given message schema.
virtual SbeSchemaMetaData schema() const =0
The metadata of the schema.
virtual bool hasSchema() const =0
Returns true if the entity really bound to the message schema.
The stream to write the encoded data.
void put(const void *data, SbeWireSize size)
Write data.
~SbeBinaryOutputStream() ONIXS_FIXENGINE_DEFAULT
friend SbeBinaryOutputStream createSbeBinaryOutputStream(void *)
The Accessor to the field content.
~SbeConstFieldAccess() ONIXS_FIXENGINE_DEFAULT
bool toNumber(Int32 &) const
Tries to convert the field value to the 32-bits signed integer.
bool present() const
Checks if the field value is null.
Tag tag() const
The tag of the field that is being encoded.
SbeConstFieldAccess(Tag tag, const void *, const void *)
bool toString(std::string &) const
Tries to convert the field value to the string.
friend SbeConstFieldAccess createSbeConstFieldAccess(Tag tag, const void *, const void *)
bool toTimeSpan(TimeSpan &, TimeSpanFormat::Enum=TimeSpanFormat::HHMMSSMsec) const
Tries to convert the field value to the timespan using the particular formatter.
bool toTimestamp(Timestamp &, TimestampFormat::Enum=TimestampFormat::YYYYMMDDHHMMSSNsec) const
Tries to convert the field value to the timestamp using the particular formatter.
SbeFieldMetaData fieldMetaData() const
The complete metadata of the field that is encoded (contains the same tag as one returned by the tag(...
bool toChar(Char &) const
Tries to convert the field value to the char.
friend SbeFieldCodingSettings createSbeFieldCodingSettings(void *)
~SbeFieldCodingSettings() ONIXS_FIXENGINE_DEFAULT
The output interface for the data decoded by the custom decoder.
void setChar(char value)
Assigns the character value.
friend SbeFieldDecoderOutput createSbeFieldDecoderOutput(void *)
void setNull()
Explicitly assigns Null value to the destination.
~SbeFieldDecoderOutput() ONIXS_FIXENGINE_DEFAULT
SbeFieldMetaData field() const
The field metadata for reference needs.
void set(Int16 value)
Assigns the signed 16-bits value.
bool isGroup() const
Checks if the field represents a FIX repeating group.
const std::string & name() const ONIXS_FIXENGINE_OVERRIDE
The name of the field.
SbeFieldSetMetaData group() const
The FIX group if the field is a group.
SbeTypeMetaData typeMetaData() const
The type of the field.
SbeSchemaMetaData schema() const ONIXS_FIXENGINE_OVERRIDE
The metadata of the SBE schema.
bool hasSchema() const ONIXS_FIXENGINE_OVERRIDE
Always return true.
int tag() const
The FIX tag of the field.
const std::string & description() const ONIXS_FIXENGINE_OVERRIDE
The description.
friend SbeFieldMetaData createSbeFieldMetaData(const void *)
SbeFieldSetMetaData parent() const
The parent of the FIX field.
The metadata of the field set: the FIX message of the FIX repeating group.
bool isGroup() const
Check if the field is a repeating group.
const std::string & name() const ONIXS_FIXENGINE_OVERRIDE
The name of the field set.
SbeTypeMetaData groupDimensionType() const
The metadata of the group dimension composite.
bool hasParent() const
Checks if the field set has the parent field set.
const std::string & messageSemanticType() const
The FIX semantic type if the field set is a FIX message.
friend SbeFieldSetMetaData createSbeFieldSetMetaData(const void *)
SbeSchemaMetaData schema() const ONIXS_FIXENGINE_OVERRIDE
The metadata of the SBE schema.
bool isMessage() const
Check if the field is a FIX message.
bool hasSchema() const ONIXS_FIXENGINE_OVERRIDE
Always return true.
int tag() const
The tag associated with the field set.
const std::string & description() const ONIXS_FIXENGINE_OVERRIDE
The description.
const SbeFieldSetMetaData parent() const
The parent field set.
The input interface for the data about the repeating group.
void getGroupDimensionData(SbeWireSize *blockLength=ONIXS_FIXENGINE_NULLPTR, size_t *itemCount=ONIXS_FIXENGINE_NULLPTR, SbeWireSize *numGroups=ONIXS_FIXENGINE_NULLPTR, SbeWireSize *numVarDataFields=ONIXS_FIXENGINE_NULLPTR) const
Gets the group dimension data.
~SbeGroupDimensionInput() ONIXS_FIXENGINE_DEFAULT
friend SbeGroupDimensionInput createSbeGroupDimensionInput(const void *)
SbeFieldSetMetaData groupMetaData() const
The field set of the group which dimensions are reported via this object.
The output interface for the data about the repeating group.
SbeFieldSetMetaData group() const
The group metadata for reference needs.
friend SbeGroupDimensionOutput createSbeGroupDimensionOutput(void *)
void set(SbeWireSize blockLength, SbeWireSize itemCount, SbeWireSize numGroups=UnusedWireSizeValue, SbeWireSize numVarDataFields=UnusedWireSizeValue)
Reports data about the repeating group.
~SbeGroupDimensionOutput() ONIXS_FIXENGINE_DEFAULT
The destructor.
const std::string & name() const ONIXS_FIXENGINE_OVERRIDE
The name of the value.
friend SbeNamedValueMetaData createSbeNamedValueMetaData(const void *)
const std::string & value() const
The value in the string presentation.
SbeSchemaMetaData schema() const ONIXS_FIXENGINE_OVERRIDE
The schema metadata.
bool hasSchema() const ONIXS_FIXENGINE_OVERRIDE
Return true for most of such objects.
const std::string & description() const ONIXS_FIXENGINE_OVERRIDE
The description of the value.
The metadata of the SBE schema.
SbeEndianness::Enum byteOrder() const
The schema byte order.
const std::string & name() const ONIXS_FIXENGINE_OVERRIDE
The name of the schema: repeats the schema Id in the text form.
const std::string & semanticVersion() const
The schema semantic version.
SbeTypeMetaData headerType() const
Returns the metadata of the message header composite.
friend SbeSchemaMetaData createSbeSchemaMetaData(const void *)
const std::string & package() const
The schema package.
const std::string & description() const ONIXS_FIXENGINE_OVERRIDE
The description of the schema.
bool hasHeaderType() const
Checks if the schema has the message header composite.
unsigned version() const
The schema version.
The input interface for composites that are not used inside of FIX messages.
void getMessageHeaderData(UInt32 *blockLength=ONIXS_FIXENGINE_NULLPTR, UInt32 *templateId=ONIXS_FIXENGINE_NULLPTR, UInt32 *schemaId=ONIXS_FIXENGINE_NULLPTR, UInt32 *schemaVersion=ONIXS_FIXENGINE_NULLPTR, UInt32 *numOfGroups=ONIXS_FIXENGINE_NULLPTR, UInt32 *numOfVarDataFields=ONIXS_FIXENGINE_NULLPTR) const
Gets the message header data.
SbeTypeMetaData typeMetaData() const
Metadata of the composite which data are reported via this object.
friend SbeSpecialCompositeInput createSbeSpecialCompositeInput(const void *)
~SbeSpecialCompositeInput() ONIXS_FIXENGINE_DEFAULT
The output interface for composites that are not used inside of FIX messages.
friend SbeSpecialCompositeOutput createSbeSpecialCompositeOutput(void *)
SbeTypeMetaData type() const
The composite metadata for reference needs.
void setMessageHeader(SbeWireSize blockLength, unsigned templateId, UInt32 schemaId, unsigned schemaVersion, SbeWireSize numGroups=UnusedWireSizeValue, SbeWireSize numVarDataFields=UnusedWireSizeValue)
Reports data about the message from the message header.
~SbeSpecialCompositeOutput() ONIXS_FIXENGINE_DEFAULT
The destructor.
The metadata of the SBE type.
SbePresence::Enum presence() const
The presence of the type.
bool isSimple() const
Checks if the object describes a simple SBE type.
const std::string & name() const ONIXS_FIXENGINE_OVERRIDE
The name of the type.
const std::string & timeUnit() const
The time unit for the time-aware type.
SbeTypeMetaData member(size_t) const
The metadata of the particular composite member.
size_t noOfValues() const
The number of values for the multivalue type.
const std::string & timeEpoch() const
The epoch for the time-aware type.
bool isSet() const
Checks if the object describes an SBE set.
const std::string & nullValue() const
The null value (if applicable).
size_t noOfMembers() const
The number of composite type members.
bool isEnumeration() const
Checks if the object describes an SBE enumeration.
SbeNamedValueMetaData value(size_t) const
The metadata of the particular value.
SbeSchemaMetaData schema() const ONIXS_FIXENGINE_OVERRIDE
The schema metadata.
const std::string & maxValue() const
The maximum value (if applicable).
bool hasSchema() const ONIXS_FIXENGINE_OVERRIDE
Return true for most of such objects.
SbeFixSemanticType::Enum semanticType() const
The FIX semantic type of the type if applicable.
unsigned sinceVersion() const
The earliest version of the scheme where the type appears.
bool isComposite() const
Checks if the object describes an SBE composite.
SbePrimitiveType::Enum primitiveType() const
Primitive type that is used by the given type.
const std::string & constValue() const
The constant value (if applicable).
const std::string & description() const ONIXS_FIXENGINE_OVERRIDE
The description of the type.
SbeWireSize arraySize() const
The length of the fixed-length array.
const std::string & minValue() const
The minimum value (if applicable).
friend SbeTypeMetaData createSbeTypeMetaData(const void *)
SbeWireSize localOffset() const
The local offset of the object.
bool isArray() const
Checks if the object describes an SBE array.
const std::string & rawSemanticType() const
The string presentation of the FIX semantic type.
SbeWireSize fixedSize() const
The size of the type.
The time span related functionality.
Definition TimeSpan.h:94
The timestamps related functionality.
Definition Timestamp.h:92
const SbeWireSize UnusedWireSizeValue
The special value that usually mean "nothing" or "null" regarding wire-level entities.
UInt32 SbeWireSize
The size of wire-level entities.
UInt64 CoderOwnerId
The owner of custom coders.
double Double
Definition Numeric.h:41
short int Int16
Definition Numeric.h:32
unsigned int UInt32
Definition Numeric.h:36
long long Int64
Definition Numeric.h:38
char Char
Definition Numeric.h:30
short unsigned int UInt16
Definition Numeric.h:33
unsigned long long UInt64
Definition Numeric.h:39
int Int32
Definition Numeric.h:35
unsigned Tag
Alias for tag numbers.
Definition Tag.h:28
STL namespace.
The byte order of the message schema.
@ LittleEndian
The little endian order.
@ BigEndian
The big endian order.
The FIX semantic type of the SBE-encoded field.
@ Currency
The ISO 4217:2008 Currency code (3 character).
@ MonthYear
A flexible date format that must include month and year at least, but may also include day or week.
@ Language
The National language - uses ISO 639-1:2002 standard.
@ UtcDateOnly
The date represented in UTC (Universal Time Coordinated, also known as "GMT").
@ ImplicitEnum
A single choice of alternative values.
@ PriceOffset
A price offset that can be added to the Price.
@ LocalMktDate
The local date(as oppose to UTC).
@ Unknown
Inapplicable or unknown.
@ MultipleCharValue
The multiple choice of a set of values.
@ StringVariable
Alpha-numeric free format strings can include any character or punctuation.
@ UtcTimestamp
The time/date combination represented in UTC (Universal Time Coordinated, also known as "GMT").
@ UtcTimeOnly
The time-only represented in UTC (Universal Time Coordinated, also known as "GMT").
@ XmlData
The variable-length XML. Must be paired with a Length field.
@ NumInGroup
The number of entries in a repeating group.
@ SeqNum
A message sequence number.
@ Exchange
The ISO 10383:2012 Market Identifier Code (MIC).
@ StringFixed
A fixed-length character array.
@ Data
The variable-length data. Must be paired with a Length field.
@ TzTimestamp
The time/date combination representing the local time with an offset to UTC to allow an identificatio...
@ Country
The ISO 3166-1:2013 Country code.
@ DayOfMonth
A day during a particular month (values 1 to 31).
@ StringEncodedText
The non-ASCII string. The character encoding may be specified by a schema attribute.
@ MultipleStringValue
The multiple choice of a set of values.
@ Amt
A field typically representing a Price times a Qty.
An appearance of the SBE-encoded field.
@ Optional
The optional field.
@ Required
The required field.
@ Constant
The constant value.
The primitive type of the SBE-encoded value.
@ UInt64
The unsigned 64-bits integer.
@ UInt8
The unsigned 8-bits integer.
@ Int16
The signed 16-bits integer.
@ UInt32
The unsigned 32-bits integer.
@ Int32
The signed 32-bits integer.
@ Int8
The signed 8-bits integer.
@ UInt16
The unsigned 16-bits integer.
@ Float
The single precision IEEE 754-2008 value (4 bytes).
@ Int64
The signed 64-bits integer.
@ Double
The double precision IEEE 754-2008 value (8 bytes).
The collection of time span formats supported.
Definition TimeSpan.h:73
The collection of timestamp formats supported.
Definition Timestamp.h:68