Fixopaedia Namespace Reference

Fixopaedia namespace. More...


Classes

class  FDElement
 Defines interface to FixDictionary Element. More...
class  FDPath
 FDPath is used for selecting location specified element in FixDictionary. FDPath is parametrized with string that match to following rules:. More...
struct  FDTypeInfo
 FixDictionary TypeInfo structure. More...
class  FixDictionaryFactory
class  FixDictionary
 Implements the core FixDictionary object. FixDictionary has following structure:. More...
class  EnumValuesDescription
 Represents enumeration of values. More...
class  BlocksHolderDescription
 Contains FIX BlocksHolder description. More...
class  DictionaryDescription
 Contains FIX Dictionary description. More...
class  BaseProtocolDescription
 Contains FIX Protocol description. More...
class  ProtocolDescription
 Represents FIX protocol description structure. More...
class  MessageDescription
 Contains FIX Message description. More...
class  GroupDescription
 Contains FIX Message's Repeating Group description. More...
class  BlockDescription
 Contains FIX Message's Blockref description. More...
class  BlockRefDescription
 Represents BlockRef description structure. More...
class  FieldDescription
 Contains FIX Field description. More...
class  FixDictionaryException
 Base class for all FixDictionary exceptions. More...
class  FixDictionaryLoadProtocolException
 Exception for signaling about errors during Protocol loading. More...
class  FixDictionaryInconsistentElementClassException
 Exception for signaling about errors during Protocol loading. More...
class  InapplicableCondReqExpressionException
 Exception for signaling about invalid Conditional Required Expression. More...
class  NotSupported
 Exception for signaling about operation or method is not supported. More...
class  NullArgumentException
 Exception for signaling about argument is null pointer. More...
class  InvalidValidatorException
 Exception for signaling about invalid validator. More...
class  InvalidValueException
 Exception for signaling about invalid value. More...
class  InvalidParent
 Exception for signaling about invalid parent. More...
class  InvalidRelation
 Exception for signaling about invalid relation. More...
class  InvalidXml
 Exception for signaling about invalid XML. More...
class  CannotModify
 Cannot modify FixDictionary after start(). More...
struct  SearchParams
struct  Validator
 The interface for the Field Content Validator. More...

Namespaces

namespace  Helpers
 Helpers namespace.

Typedefs

typedef std::list< std::pair
< std::string, std::string > > 
EnumValues
typedef std::vector< FDElement * > FDElements
 Type definition for FixDictionary elements collection.
typedef std::vector< std::string > TypeNames
 Type definitions for Type Names collection.
typedef std::list< FDTypeInfo * > FDTypeInfos
 Type definitions for FDTypeInfo collection.
typedef FieldDescriptionFieldDescriptionPtr
 Type definitions for Field Description smart pointer.
typedef BlockDescriptionBlockDescriptionPtr
 Type definitions for Block Description smart pointer.
typedef std::auto_ptr
< GroupDescription
GroupDescriptionPtr
 Type definitions for Group Description smart pointer.
typedef std::auto_ptr
< MessageDescription
MessageDescriptionPtr
 Type definitions for Message Description smart pointer.
typedef std::auto_ptr
< BaseProtocolDescription
BaseProtocolDescriptionPtr
 Type definitions for Protocol Description smart pointer.
typedef FDTypeInfoFDTypeInfoPtr
 Type definitions for Type Description smart pointer.
typedef EnumValuesEnumValuesPtr
 Pointer to the EnumValues.

Enumerations

enum  FixDataType {
  FDT_INITIAL, FDT_INT, FDT_BEGIN = FDT_INT, FDT_LENGTH,
  FDT_NUM_IN_GROUP, FDT_SEQ_NUM, FDT_TAG_NUM, FDT_DAY_OF_MONTH,
  FDT_FLOAT, FDT_QTY, FDT_PRICE, FDT_PRICE_OFFSET,
  FDT_AMT, FDT_PERCENTAGE, FDT_CHAR, FDT_BOOLEAN,
  FDT_STRING, FDT_MULTIPLE_VALUE_STRING, FDT_COUNTRY, FDT_CURRENCY,
  FDT_EXCHANGE, FDT_MONTH_YEAR, FDT_MONTH_YEAR_4_4, FDT_UTC_TIMESTAMP_4_0,
  FDT_UTC_TIMESTAMP, FDT_UTC_TIME_ONLY, FDT_UTC_DATE_ONLY, FDT_LOCAL_MKT_DATE,
  FDT_DATA, FDT_MULTIPLE_CHAR_VALUE, FDT_T_Z_TIME_ONLY, FDT_T_Z_TIMESTAMP,
  FDT_PATTERN, FDT_TENOR, FDT_RESERVED_1_0_0_PLUS, FDT_RESERVED_1_0_0_0_PLUS,
  FDT_RESERVED_4_0_0_0_PLUS, FDT_END
}
 Declaration of FIX DataType as its described in FIX 4.4 specification. More...
enum  SearchCriterion { SEARCH_FLAT, SEARCH_SHALLOW, SEARCH_DEEP }
enum  RequirementCriterion { REQUIRED, NOT_REQUIRED, COND_REQUIRED, MISSING }


Detailed Description

Fixopaedia namespace.

Typedef Documentation

typedef std::list<std::pair<std::string, std::string> > Fixopaedia::EnumValues

Type definition for possible values of Enumeration. Pair has format: <Value_of_enum : Value's_description>.


Enumeration Type Documentation

Declaration of FIX DataType as its described in FIX 4.4 specification.

Enumerator:
FDT_INITIAL  Initial value.
FDT_INT  int: Sequence of digits without commas or decimals and optional sign character (ASCII characters "-" and "0" - "9" ). The sign character utilizes one byte (i.e. positive int is "99999" while negative int is "-99999").
Note:
Int values may contain leading zeros (e.g. 00023 = 23).
Examples:
  • 723 in field 21 would be mapped int as |21=723|.
  • -723 in field 12 would be mapped int as |12=-723|
FDT_BEGIN  first valid type
FDT_LENGTH  int field representing the length in bytes.
Note:
Value must be positive.
FDT_NUM_IN_GROUP  int field representing the number of entries in a repeating group.
Note:
Value must be positive.
FDT_SEQ_NUM  int field representing a message sequence number.
Note:
Value must be positive.
FDT_TAG_NUM  int field representing a field's tag number when using FIX "Tag=Value" syntax.
Note:
Value must be positive and may not contain leading zeros.
FDT_DAY_OF_MONTH  int field representing a day during a particular month (values 1-31).
FDT_FLOAT  float: Sequence of digits with optional decimal point and sign character (ASCII characters "-", "0" - "9" and "."); the absence of the decimal point within the string will be interpreted as the float representation of an integer value. All float fields must accommodate up to fifteen significant digits. The number of decimal places used should be a factor of business/market needs and mutual agreement between counterparties.
Note:
Float values may contain leading zeros (e.g. "00023.23" = "23.23") and may contain or omit trailing zeros after the decimal point (e.g. "23.0"= "23.0000" = "23" = "23.").

The fields which are derived from float may contain negative values unless explicitly specified otherwise.

FDT_QTY  float field capable of storing either a whole number (no decimal places) of "shares" (securities denominated in whole units) or a decimal value containing decimal places for non-share quantity asset classes (securities denominated in fractional units).
FDT_PRICE  float field representing a price.
Note:
The number of decimal places may vary. For certain asset classes prices may be negative values. For example, prices for options strategies can be negative under certain market conditions. Refer to Volume 7: FIX Usage by Product for asset classes that support negative price values.
FDT_PRICE_OFFSET  float field representing a price offset, which can be mathematically added to a "Price".
Note:
The number of decimal places may vary and some fields such as LastForwardPoints may be negative.
FDT_AMT  float field typically representing a Price times a Qty.
FDT_PERCENTAGE  float field representing a percentage (e.g. .05 represents 5% and .9525 represents 95.25%).
Note:
the number of decimal places may vary.
FDT_CHAR  char: Single character value, can include any alphanumeric character or punctuation except the delimiter. All char fields are case sensitive (i.e. m != M).
FDT_BOOLEAN  Boolean: a char field containing one of two values:
  • 'Y' = True/Yes.
  • 'N' = False/No
FDT_STRING  String: Alpha-numeric free format strings, can include any character or punctuation except the delimiter. All char fields are case sensitive (i.e. morstatt != Morstatt).
FDT_MULTIPLE_VALUE_STRING  String field containing one or more space delimited values.
FDT_COUNTRY  String field representing a country using ISO 3166 Country code (2 character) values.
FDT_CURRENCY  String field representing a currency type using ISO 4217 Currency code (3 character) values.
FDT_EXCHANGE  String field representing a market or exchange using ISO 10383 Exchange Codes - Market Identifier Code (MIC).
FDT_MONTH_YEAR  String field representing month of a year in YYYYMM format. Valid values: YYYY = /< 0000-9999, MM = 01-12.
FDT_MONTH_YEAR_4_4  String field representing month of a year. An optional day of the month can be appended or an optional week code. Valid formats:
  • YYYYMM
  • YYYYMMDD
  • YYYYMMWW Valid values: YYYY = 0000-9999, MM = 01-12, DD = 01-31, WW = w1, w2, w3, w4, w5.
FDT_UTC_TIMESTAMP  Time/date combination represented in UTC (Universal Time Coordinated, also known as GMT) in either YYYYMMDD-HH:MM:SS (whole seconds) or YYYYMMDD-HH:MM:SS.sss (milliseconds) format, colons, dash, and period required. Valid values:
  • YYYY = 0000-9999, MM = 01-12, DD = 01-31, HH = 00-23, MM = 00-59, SS = 00-60 (60 only if UTC leap second) (without milliseconds).
  • YYYY = 0000-9999, MM = 01-12, DD = 01-31, HH = 00-23, MM = 00-59, SS = 00-60 (60 only if UTC leap second), sss=000-999 (indicating milliseconds). Leap Seconds: Note that UTC includes corrections for leap seconds, which are inserted to account for slowing of the rotation of the earth. Leap second insertion is declared by the International Earth Rotation Service (IERS) and has, since 1972, only occurred on the night of Dec. 31 or Jun 30. The IERS considers March 31 and September 30 as secondary dates for leap second insertion, but has never utilized these dates. During a leap second insertion, a UTCTimestamp field may read "19981231-23:59:59", "19981231-23:59:60", "19990101-00:00:00". (see http://tycho.usno.navy.mil/leapsec.html)
FDT_UTC_TIME_ONLY  Time-only represented in UTC (Universal Time Coordinated, also known as GMT) in either HH:MM:SS (whole seconds) or HH:MM:SS.sss (milliseconds) format, colons, and period required. This special-purpose field is paired with UTCDateOnly to form a proper UTCTimestamp for bandwidth-sensitive messages. Valid values:
  • HH = 00-23, MM = 00-60 (60 only if UTC leap second), SS = 00-59. (without milliseconds)
  • HH = 00-23, MM = 00-59, SS = 00-60 (60 only if UTC leap second), sss=000-999 (indicating milliseconds).
FDT_UTC_DATE_ONLY  Date represented in UTC (Universal Time Coordinated, also known as GMT) in YYYYMMDD format. This special-purpose field is paired with UTCTimeOnly to form a proper UTCTimestamp for bandwidth-sensitive messages. Valid values:
  • YYYY = 0000-9999, MM = 01-12, DD = 01-31.
FDT_LOCAL_MKT_DATE  Date of Local Market (vs. UTC) in YYYYMMDD format. This is the "normal" date field used by the FIX protocol. Valid values:
  • YYYY = 0000-9999, MM = 01-12, DD = 01-31.
FDT_DATA  Raw data with no format or content restrictions. Data fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH). Caution: the value of one of these fields may contain the delimiter (SOH) character.
Note:
The value specified for this field should be followed by the delimiter (SOH) character as all fields are terminated with an SOH.
FDT_MULTIPLE_CHAR_VALUE  String field (see definition of “String” above) containing one or more SINGLE character space delimited values.
FDT_T_Z_TIME_ONLY  The time represented based on ISO 8601. This is the time with a UTC offset to allow identification of local time and timezone of that time. Format is HH:MM[:SS][.sss][Z | [ + | - hh[:mm]]] where HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds, sss = milliseconds, hh = 01-12 offset hours, mm = 00-59 offset minutes. Example: 07:39Z is 07:39 UTC Example: 02:39-05 is five hours behind UTC, thus Eastern Time Example: 15:39+08 is eight hours ahead of UTC, Hong Kong/Singapore time Example: 13:09+05:30 is 5.5 hours ahead of UTC, India time
FDT_T_Z_TIMESTAMP  The time/date combination representing local time with an offset to UTC to allow identification of local time and timezone offset of that time. The representation is based on ISO 8601. Format is YYYYMMDD-HH:MM:SS[.sss][Z | [ + | - hh[:mm]]] where YYYY = 0000 to 9999, MM = 01-12, DD = 01-31 HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds, sss = milliseconds, hh = 01-12 offset hours, mm = 00-59 offset minutes Example: 20060901-07:39Z is 07:39 UTC on 1st of September 2006 Example: 20060901-02:39-05 is five hours behind UTC, thus Eastern Time on 1st of September 2006 Example: 20060901-15:39+08 is eight hours ahead of UTC, Hong Kong/Singapore time on 1st of September 2006 Example: 20060901-13:09+05:30 is 5.5 hours ahead of UTC, India time on 1st of September 2006
FDT_PATTERN  A "pattern" data type is used to build on and provide some restrictions on what is allowed as valid values in fields that uses a base FIX data type and a pattern data type. The universe of allowable valid values for the field would then be the union of the base set of valid values and what is defined by the pattern data type. The pattern data type used by the field will retain its base FIX data type (e.g. String, int, char).
FDT_TENOR  The Tenor pattern is used to allow the expression of FX standard tenors in addition to the base valid enumerations defined for the field that uses this pattern data type. This pattern data type is defined as follows: Dx = FX tenor expression for "days", e.g. "D5" to express 5 days, where "x" is any integer > 0 Mx = FX tenor expression for "months", e.g. "M3" to express 3 months, where "x" is any integer > 0 Wx = FX tenor expression for "weeks", e.g. "W13" to express 13 weeks, where "x" is any integer > 0 Yx = FX tenor expression for "years", e.g. "Y1" to express 1 year, where "x" is any integer > 0
FDT_RESERVED_1_0_0_PLUS  The Reserved100Plus pattern is used to allow additional billaterally agreed upon enumerations to be defined for the field by using enumeration values starting at "100" and above.
FDT_RESERVED_1_0_0_0_PLUS  The Reserved1000Plus pattern is used to allow additional billaterally agreed upon enumerations to be defined for the field by using enumeration values starting at "1000" and above.
FDT_RESERVED_4_0_0_0_PLUS  The Reserved4000Plus pattern is used to allow additional billaterally agreed upon enumerations to be defined for the field by using enumeration values starting at "4000" and above.
FDT_END  Not valid type.

Declares selectors for defining requirement of FixDictionary Element.

Enumerator:
REQUIRED  FixDictionary Element is required.
NOT_REQUIRED  FixDictionary Element is not required.
COND_REQUIRED  FixDictionary Element is conditionally required.
MISSING  FixDictionary Element is specified in FIX protocol but removed for given dialect.

Declares selectors which defines the deep of search operation.

Enumerator:
SEARCH_FLAT  Performs search only for the sibling elements.
SEARCH_SHALLOW  Performs search for the sibling elements and one level lower.
SEARCH_DEEP  Performs deep search for all levels starting from given.


Generated on Fri Apr 17 12:27:32 2009 for B2BITS FIX Antenna C++ by  doxygen 1.5.6