220class SbeSchemaMetaData;
273 SbeNamedValueMetaData() {}
275 const void* details_;
378 const void *details_;
404 const SbeFieldSetMetaData
parent() const;
424 SbeFieldSetMetaData() {}
426 const void* details_;
462 SbeFieldMetaData() {}
464 const void* details_;
511 SbeSchemaMetaData() {}
513 const void* details_;
516class ISbeManageCodingParameters;
517class ISbeFieldDecoder;
518class ISbeGroupDimensionDecoder;
519class ISbeCompositeDecoder;
520class ISbeFieldEncoder;
521class ISbeGroupDimensionEncoder;
522class ISbeCompositeEncoder;
566 SbeFieldCodingSettings() {}
749 SbeFieldDecoderOutput() {}
777 SbeGroupDimensionOutput() {}
806 UInt32 schemaId,
unsigned schemaVersion,
811 SbeSpecialCompositeOutput() {}
902 SbeBinaryOutputStream() {}
#define ONIXS_FIXENGINE_API_DECL(typeKind, typeName)
#define ONIXS_FIXENGINE_API
#define ONIXS_FIXENGINE_DEFAULT
#define ONIXS_FIXENGINE_NULLPTR
#define ONIXS_FIXENGINE_OVERRIDE
The Decimal type for a better precision.
Identifies the FIX messages dictionary.
Encapsulates operations over a FIX Message.
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.
The coding modes management.
void useValueNamesExternally(bool)
void useFormattedDateTime(bool)
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.
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.
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 time span related functionality.
The timestamps related functionality.
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.
short unsigned int UInt16
unsigned long long UInt64
unsigned Tag
Alias for tag numbers.
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).
@ Boolean
Values true or false.
@ 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).
@ Length
The length value.
@ StringEncodedText
The non-ASCII string. The character encoding may be specified by a schema attribute.
@ Char
The single character.
@ Percentage
The percentage.
@ MultipleStringValue
The multiple choice of a set of values.
@ TzTimeOnly
The time of a day.
@ 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).