220class SbeSchemaMetaData;
230 virtual const std::string &
name()
const = 0;
258 const std::string&
name()
const override;
273 SbeNamedValueMetaData() {}
275 const void* details_;
283 const std::string&
name()
const override;
378 const void *details_;
386 const std::string&
name()
const override;
404 const SbeFieldSetMetaData
parent()
const;
424 SbeFieldSetMetaData() {}
426 const void* details_;
433 const std::string&
name()
const override;
462 SbeFieldMetaData() {}
464 const void* details_;
472 const std::string&
name()
const override;
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() {}
989 UInt32* templateId =
nullptr,
990 UInt32* schemaId =
nullptr,
991 UInt32* schemaVersion =
nullptr,
992 UInt32* numOfGroups =
nullptr,
993 UInt32* numOfVarDataFields =
nullptr)
const;
1021 size_t* itemCount =
nullptr,
#define ONIXS_FIXENGINE_API
The Decimal type for a better precision.
Identifies the FIX messages dictionary.
virtual size_t decode(SbeSpecialCompositeOutput output, unsigned version, const void *data, size_t available)=0
virtual ~ISbeCompositeDecoder()=default
The virtual destructor.
virtual ~ISbeCompositeEncoder()=default
virtual void encode(SbeBinaryOutputStream out, unsigned version, SbeSpecialCompositeInput input)=0
The library that contains user-defined SBE coders.
virtual void attach(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner)
virtual ISbeGroupDimensionDecoder * queryGroupDimensionDecoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData field)
virtual ISbeGroupDimensionEncoder * queryGroupDimensionEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData group)
virtual ISbeCompositeDecoder * queryDecoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeTypeMetaData composite)
virtual ISbeFieldEncoder * queryEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field)
virtual ISbeFieldDecoder * queryDecoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field)
virtual ISbeCompositeEncoder * queryEncoder(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeTypeMetaData composite)
virtual ~ISbeCustomCoderLibrary()=default
The destructor.
virtual void queryCodingControl(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field, ONIXS_FIXENGINE_UNUSED SbeFieldCodingSettings settings)
virtual void detach(ONIXS_FIXENGINE_UNUSED CoderOwnerId owner)
virtual size_t decode(SbeFieldDecoderOutput output, unsigned version, const void *data, size_t available)=0
virtual ~ISbeFieldDecoder()=default
The destructor.
virtual SbeWireSize queryFixedSize(unsigned version)=0
virtual ~ISbeFieldEncoder()=default
virtual void encode(SbeBinaryOutputStream out, unsigned version, const SbeConstFieldAccess &field)=0
virtual ~ISbeGroupDimensionDecoder()=default
The virtual destructor.
virtual size_t decode(SbeGroupDimensionOutput output, unsigned version, const void *data, size_t available)=0
virtual ~ISbeGroupDimensionEncoder()=default
virtual void encode(SbeBinaryOutputStream out, unsigned version, SbeGroupDimensionInput input)=0
The name and the description of an SBE entity.
virtual const std::string & name() const =0
The name of the entity.
virtual ~ISbeNameDescription()=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
virtual bool hasSchema() const =0
Returns true if the entity really bound to the message schema.
The stream to write the encoded data.
~SbeBinaryOutputStream()=default
void put(const void *data, SbeWireSize size)
friend SbeBinaryOutputStream createSbeBinaryOutputStream(void *)
The Accessor to the field content.
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 toNumber(Decimal &) const
Tries to convert the field value to the decimal.
bool toNumber(Int64 &) const
Tries to convert the field value to the 64-bits signed integer.
bool toString(std::string &) const
Tries to convert the field value to the string.
friend SbeConstFieldAccess createSbeConstFieldAccess(Tag tag, const void *, const void *)
bool toNumber(Double &) const
Tries to convert the field value to the double value.
bool toNumber(UInt64 &) const
Tries to convert the field value to the 64-bits unsigned integer.
bool toTimeSpan(TimeSpan &, TimeSpanFormat::Enum=TimeSpanFormat::HHMMSSMsec) const
Tries to convert the field value to the timespan using the particular formatter.
~SbeConstFieldAccess()=default
bool toNumber(UInt32 &) const
Tries to convert the field value to the 32-bits unsigned integer.
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.
~SbeFieldCodingSettings()=default
void useValueNamesExternally(bool)
bool useValueNamesExternally() const
Checks if the value names are used externally.
void useFormattedDateTime(bool)
bool useFormattedDateTime() const
Checks if the formatted date and time used.
friend SbeFieldCodingSettings createSbeFieldCodingSettings(void *)
void set(Int32 value)
Assigns the signed 32-bits value.
void set(const char *value, SbeWireSize length)
Assigns the value as a string of the variadic length.
void set(float value)
Assigns the float value.
void set(const void *value, SbeWireSize length)
Assigns the plain data of the variadic length value.
void set(double value)
Assigns the double value.
void setChar(char value)
Assigns the character value.
friend SbeFieldDecoderOutput createSbeFieldDecoderOutput(void *)
void set(UInt64 value)
Assigns the unsigned 64-bits value.
void set(Int64 value)
Assigns the signed 64-bits value.
~SbeFieldDecoderOutput()=default
void setNull()
Explicitly assigns Null value to the destination.
SbeFieldMetaData field() const
The field metadata for reference needs.
void set(UInt16 value)
Assigns the unsigned 16-bits value.
void set(Int16 value)
Assigns the signed 16-bits value.
void set(UInt32 value)
Assigns the unsigned 32-bits value.
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)
~SbeGroupDimensionOutput()=default
The destructor.
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)
~SbeSpecialCompositeOutput()=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.
ONIXS_FIXENGINE_API_DECL(class, IEngineListener)
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).