B2BITS FIX Antenna C++ 2.33.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Engine::FIXGroup Class Referenceabstract

FIX Repeating Group interface. More...

#include <B2BITS_FIXGroup.h>

Classes

struct  forward_iteratorT
 

Public Types

typedef forward_iteratorT< const TagValueconst_forward_iterator
 
typedef forward_iteratorT< TagValueforward_iterator
 

Public Member Functions

virtual void apply (FixFieldsFunctor &f) const =0
 
forward_iterator begin ()
 Returns forward iterator pointing to the first entry of group.
 
const_forward_iterator begin () const
 
const_forward_iterator cbegin () const
 
const_forward_iterator cend () const
 
forward_iterator end ()
 Returns forward iterator with marker of the end of group.
 
const_forward_iterator end () const
 
 FIXGroup ()
 Default constructor.
 
virtual bool get (int tag, FIXFieldValue *value, int index) const =0
 Retrieves field value by tag number and entry's index and stores it into instance of FIXFieldValue class.
 
virtual const std::string * get (int tag, int index) const =0
 Returns field value by tag number and entry's index.
 
virtual bool getAsBoolean (int tag, int index) const =0
 Returns value as byte array.
 
virtual char getAsChar (int tag, int index) const =0
 Returns value as double.
 
virtual Engine::UTCDateOnly getAsDateOnly (int tag, int index) const =0
 
virtual Decimal getAsDecimal (int tag, int index) const =0
 
virtual double getAsDouble (int tag, int index) const =0
 Returns value as double.
 
virtual int getAsInt (int tag, int index) const =0
 
virtual System::i32 getAsInt32 (int tag, int index) const =0
 
virtual System::i64 getAsInt64 (int tag, int index) const =0
 
virtual Engine::LocalMktDate getAsLocalMktDate (int tag, int index) const =0
 
virtual Engine::MonthYear getAsMonthYear (int tag, int index) const =0
 
virtual ByteArray getAsRaw (int tag, int index) const =0
 Returns value as byte array.
 
virtual AsciiString getAsString (int tag, int index) const =0
 Returns value as std::string.
 
virtual Engine::UTCTimeOnly getAsTimeOnly (int tag, int index) const =0
 
virtual Engine::UTCTimestamp getAsTimestamp (int tag, int index) const =0
 
virtual unsigned int getAsUInt (int tag, int index) const =0
 
virtual System::u32 getAsUInt32 (int tag, int index) const =0
 
virtual System::u64 getAsUInt64 (int tag, int index) const =0
 
virtual TagValue const * getEntry (int index) const =0
 Returns group entry by index.
 
virtual TagValuegetEntry (int index)=0
 Returns group entry by index.
 
virtual FixFieldsContainergetFields () const =0
 Returns list of the message fields and their values.
 
virtual FIXGroup const * getGroup (int tag, int index) const =0
 
virtual FIXGroupgetGroup (int tag, int index)=0
 Returns nested repeating group.
 
virtual bool hasFlag (int tag, int index) const =0
 
bool hasValue (int tag, int index) const
 Returns true if value value is defined; false otherwise.
 
virtual bool isEmpty (int tag, int index) const =0
 Returns true if value of the field is empty; false otherwise.
 
virtual bool isEqual (int tag, int index, TagValue const *rv, int rvTag) const =0
 
virtual bool isSupported (int tag) const throw () =0
 Verifies is field acceptable inside this group.
 
virtual int leadingField () const throw () =0
 Returns the leading field tag of the repeating group.
 
virtual bool remove (int tag, int index)=0
 Removes field, defined by input tag, from the given entry.
 
virtual bool set (int tag, AsciiString value, int index)=0
 
virtual bool set (int tag, bool value, int index)=0
 
virtual bool set (int tag, ByteArray value, int index)=0
 
bool set (int tag, char const *value, int index)
 
virtual bool set (int tag, char value, int index)=0
 
virtual bool set (int tag, const FIXFieldValue &value, int index)=0
 Assignes value to the field, defined by tag and entry index.
 
virtual bool set (int tag, const std::string &value, int index)=0
 Assignes value to the field, defined by tag and entry index.
 
virtual bool set (int tag, Decimal value, int index)=0
 
virtual bool set (int tag, double value, int index)=0
 
virtual bool set (int tag, Engine::LocalMktDate value, int index)=0
 
virtual bool set (int tag, Engine::MonthYear value, int index)=0
 Assignes value to the field, defined by tag and entry index.
 
virtual bool set (int tag, Engine::UTCDateOnly value, int index)=0
 
virtual bool set (int tag, Engine::UTCTimeOnly value, int index)=0
 
virtual bool set (int tag, Engine::UTCTimestamp value, int index)=0
 
virtual bool set (int tag, System::i32 value, int index)=0
 
virtual bool set (int tag, System::i64 value, int index)=0
 
virtual bool set (int tag, System::u32 value, int index)=0
 
virtual bool set (int tag, System::u64 value, int index)=0
 
virtual int size () const throw () =0
 Returns the number of entries in this repeating group.
 
virtual void visitTree (Engine::FixFieldsVisitor &visitor) const =0
 
virtual void write (int tag, std::ostream &out, int index) const =0
 

Static Public Member Functions

static void release (FIXGroup *pGroup)
 Releases resources used by the given group instance.
 
static void release (FIXGroup const *pGroup)
 Releases resources used by the given group instance.
 

Protected Member Functions

virtual ~FIXGroup ()
 Destructor.
 

Detailed Description

FIX Repeating Group interface.

Member Typedef Documentation

◆ const_forward_iterator

◆ forward_iterator

Constructor & Destructor Documentation

◆ FIXGroup()

Engine::FIXGroup::FIXGroup ( )

Default constructor.

◆ ~FIXGroup()

virtual Engine::FIXGroup::~FIXGroup ( )
protectedvirtual

Destructor.

Member Function Documentation

◆ apply()

virtual void Engine::FIXGroup::apply ( FixFieldsFunctor & f) const
pure virtual

◆ begin() [1/2]

forward_iterator Engine::FIXGroup::begin ( )
inline

Returns forward iterator pointing to the first entry of group.

Returns
forward_iterator pointing to the first entry of group

◆ begin() [2/2]

const_forward_iterator Engine::FIXGroup::begin ( ) const
inline

◆ cbegin()

const_forward_iterator Engine::FIXGroup::cbegin ( ) const
inline

◆ cend()

const_forward_iterator Engine::FIXGroup::cend ( ) const
inline

◆ end() [1/2]

forward_iterator Engine::FIXGroup::end ( )
inline

Returns forward iterator with marker of the end of group.

Returns
forward_iterator with marker of the end of group

◆ end() [2/2]

const_forward_iterator Engine::FIXGroup::end ( ) const
inline

◆ get() [1/2]

virtual bool Engine::FIXGroup::get ( int tag,
FIXFieldValue * value,
int index ) const
pure virtual

Retrieves field value by tag number and entry's index and stores it into instance of FIXFieldValue class.

Parameters
indexgroup's entry index (starts at 0).
tagFIX field tag to get data from.
[out]valuepointer to the FIXFieldValue object to store data. Cannot be NULL.
Returns
"false", if the given tag defined for the group (according to the FIX protocol), but not present in requested group's entry. "true", if the given tag present in requested group's entry.
Exceptions
Utils::Exceptionif tag not defined by FIX protocol for the group or entry index is invalid.

◆ get() [2/2]

virtual const std::string * Engine::FIXGroup::get ( int tag,
int index ) const
pure virtual

Returns field value by tag number and entry's index.

Parameters
indexgroup's entry index (starts at 0).
tagFIX field tag to get data from.
Returns
Returned value may be NULL, if the given tag defined for the group (according to the FIX protocol), but not present in requested group's entry. If the tag not defined for the group then the method throws an exception.
Warning
The returned buffer is shared for all calls. This means stored content is valid untill the next call of the get(). Can return NULL.
Exceptions
Utils::Exceptionif tag not defined for the group or entry index is invalid.
Deprecated
Use Engine::FIXGroup::get( int, FIXFieldValue *, int) const instead.
See also
get( int, FIXFieldValue *, int) const

◆ getAsBoolean()

virtual bool Engine::FIXGroup::getAsBoolean ( int tag,
int index ) const
pure virtual

Returns value as byte array.

Returns
value of the field

◆ getAsChar()

virtual char Engine::FIXGroup::getAsChar ( int tag,
int index ) const
pure virtual

Returns value as double.

Returns
value of the field

◆ getAsDateOnly()

virtual Engine::UTCDateOnly Engine::FIXGroup::getAsDateOnly ( int tag,
int index ) const
pure virtual

◆ getAsDecimal()

virtual Decimal Engine::FIXGroup::getAsDecimal ( int tag,
int index ) const
pure virtual

◆ getAsDouble()

virtual double Engine::FIXGroup::getAsDouble ( int tag,
int index ) const
pure virtual

Returns value as double.

Returns
value of the field

◆ getAsInt()

virtual int Engine::FIXGroup::getAsInt ( int tag,
int index ) const
pure virtual

◆ getAsInt32()

virtual System::i32 Engine::FIXGroup::getAsInt32 ( int tag,
int index ) const
pure virtual

◆ getAsInt64()

virtual System::i64 Engine::FIXGroup::getAsInt64 ( int tag,
int index ) const
pure virtual

◆ getAsLocalMktDate()

virtual Engine::LocalMktDate Engine::FIXGroup::getAsLocalMktDate ( int tag,
int index ) const
pure virtual

◆ getAsMonthYear()

virtual Engine::MonthYear Engine::FIXGroup::getAsMonthYear ( int tag,
int index ) const
pure virtual

◆ getAsRaw()

virtual ByteArray Engine::FIXGroup::getAsRaw ( int tag,
int index ) const
pure virtual

Returns value as byte array.

Returns
value of the field

◆ getAsString()

virtual AsciiString Engine::FIXGroup::getAsString ( int tag,
int index ) const
pure virtual

Returns value as std::string.

Returns
value of the field

◆ getAsTimeOnly()

virtual Engine::UTCTimeOnly Engine::FIXGroup::getAsTimeOnly ( int tag,
int index ) const
pure virtual

◆ getAsTimestamp()

virtual Engine::UTCTimestamp Engine::FIXGroup::getAsTimestamp ( int tag,
int index ) const
pure virtual

◆ getAsUInt()

virtual unsigned int Engine::FIXGroup::getAsUInt ( int tag,
int index ) const
pure virtual

◆ getAsUInt32()

virtual System::u32 Engine::FIXGroup::getAsUInt32 ( int tag,
int index ) const
pure virtual

◆ getAsUInt64()

virtual System::u64 Engine::FIXGroup::getAsUInt64 ( int tag,
int index ) const
pure virtual

◆ getEntry() [1/2]

virtual TagValue const * Engine::FIXGroup::getEntry ( int index) const
pure virtual

Returns group entry by index.

Returns
group entry by index

◆ getEntry() [2/2]

virtual TagValue * Engine::FIXGroup::getEntry ( int index)
pure virtual

Returns group entry by index.

Returns
group entry by index

Referenced by Engine::FIXMsgHelper::addEntryToNestedGroup(), and Engine::FIXMsgHelper::addEntryToNestedGroup().

◆ getFields()

virtual FixFieldsContainer * Engine::FIXGroup::getFields ( ) const
pure virtual

Returns list of the message fields and their values.

Returns
list list of the message fields and values

◆ getGroup() [1/2]

virtual FIXGroup const * Engine::FIXGroup::getGroup ( int tag,
int index ) const
pure virtual

◆ getGroup() [2/2]

virtual FIXGroup * Engine::FIXGroup::getGroup ( int tag,
int index )
pure virtual

Returns nested repeating group.

The nested FIXGroup instance's memory is managed by FIX Engine. FIXGroup instance is guaranteed to exist within it's parent FIXMessage's lifetime or until trimming to zero length in case if zero-sized groups are forbidden (AllowZeroNumInGroup is false).

Parameters
indexgroup's entry index (starts at 0).
tagTag number of the leading field value.
Returns
Returned value can be nullptr, if the given tag exists for the group (according to the FIX protocol), but is not present in requested group's entry or it's size is zero and zero-sized groups are forbidden (AllowZeroNumInGroup is false). If the tag not defined for the group then the method throws an exception.
Exceptions
Utils::Exceptionif tag not defined for the group or entry index is invalid.

Referenced by Engine::FIXMsgHelper::addEntryToNestedGroup().

◆ hasFlag()

virtual bool Engine::FIXGroup::hasFlag ( int tag,
int index ) const
pure virtual

◆ hasValue()

bool Engine::FIXGroup::hasValue ( int tag,
int index ) const

Returns true if value value is defined; false otherwise.

◆ isEmpty()

virtual bool Engine::FIXGroup::isEmpty ( int tag,
int index ) const
pure virtual

Returns true if value of the field is empty; false otherwise.

Referenced by Engine::FIXMsgHelper::addEntryToNestedGroup().

◆ isEqual()

virtual bool Engine::FIXGroup::isEqual ( int tag,
int index,
TagValue const * rv,
int rvTag ) const
pure virtual

◆ isSupported()

virtual bool Engine::FIXGroup::isSupported ( int tag) const
throw ( )
pure virtual

Verifies is field acceptable inside this group.

Parameters
tagTag number of the field to verify.
Returns
"true" if field supported by this group, otherwise returns false.

◆ leadingField()

virtual int Engine::FIXGroup::leadingField ( ) const
throw ( )
pure virtual

Returns the leading field tag of the repeating group.

Returns
Leading field tag of the repeating group .

◆ release() [1/2]

static void Engine::FIXGroup::release ( FIXGroup * pGroup)
static

Releases resources used by the given group instance.

Parameters
pGroupPointer to FIXGroup
Warning
must be called before group's holder is released. Group's holder may be FIXMessage or other repeating group's entry. FIXMessage is released by calling FIXMessage::release(). Repeating group's entry become invalid when it's removed from the group by shrinking or entier outer group releasing.
See also
FIXMessage::release
Deprecated
Is not required anymore.

◆ release() [2/2]

static void Engine::FIXGroup::release ( FIXGroup const * pGroup)
static

Releases resources used by the given group instance.

Parameters
pGroupPointer to FIXGroup
Warning
must be called before group's holder is released. Group's holder may be FIXMessage or other repeating group's entry. FIXMessage is released by calling FIXMessage::release(). Repeating group's entry become invalid when it's removed from the group by shrinking or entier outer group releasing.
See also
FIXMessage::release
Deprecated
Is not required anymore.

◆ remove()

virtual bool Engine::FIXGroup::remove ( int tag,
int index )
pure virtual

Removes field, defined by input tag, from the given entry.

Parameters
indexgroup's entry index (starts at 0).
tagTag of field to remove.
Returns
"true" if the field defined by tag was initialized previously (i.e. had non-empty value), otherwise "false".
Exceptions
Utils::Exceptionif tag not defined for the group or entry index is invalid.

◆ set() [1/18]

virtual bool Engine::FIXGroup::set ( int tag,
AsciiString value,
int index )
pure virtual

◆ set() [2/18]

virtual bool Engine::FIXGroup::set ( int tag,
bool value,
int index )
pure virtual

◆ set() [3/18]

virtual bool Engine::FIXGroup::set ( int tag,
ByteArray value,
int index )
pure virtual

◆ set() [4/18]

bool Engine::FIXGroup::set ( int tag,
char const * value,
int index )
inline

◆ set() [5/18]

virtual bool Engine::FIXGroup::set ( int tag,
char value,
int index )
pure virtual

◆ set() [6/18]

virtual bool Engine::FIXGroup::set ( int tag,
const FIXFieldValue & value,
int index )
pure virtual

Assignes value to the field, defined by tag and entry index.

Parameters
indexgroup's entry index (starts at 0).
tagFIX field tag to set data to.
valueNew value for field.
Exceptions
Utils::Exceptionif tag not defined by FIX protocol for the group or entry index is invalid.

Referenced by Engine::FIXMsgHelper::addEntryToNestedGroup(), Engine::TZTimeHelper::setTagDateOnly(), Engine::TZTimeHelper::setTagTZTimeOnly(), Engine::TZTimeHelper::setTagTZTimestamp(), Engine::TZTimeHelper::setTagUTCTimeOnly(), and Engine::TZTimeHelper::setTagUTCTimestamp().

◆ set() [7/18]

virtual bool Engine::FIXGroup::set ( int tag,
const std::string & value,
int index )
pure virtual

Assignes value to the field, defined by tag and entry index.

Parameters
indexgroup's entry index (starts at 0).
tagFIX field tag to set data to.
valueNew value for field.
Returns
"true" if the field defined by input tag was initialized previously, If field is just inserted, returned value is "false".
Exceptions
Utils::Exceptionif tag not defined for the group or entry index is invalid.

◆ set() [8/18]

virtual bool Engine::FIXGroup::set ( int tag,
Decimal value,
int index )
pure virtual

◆ set() [9/18]

virtual bool Engine::FIXGroup::set ( int tag,
double value,
int index )
pure virtual

◆ set() [10/18]

virtual bool Engine::FIXGroup::set ( int tag,
Engine::LocalMktDate value,
int index )
pure virtual

◆ set() [11/18]

virtual bool Engine::FIXGroup::set ( int tag,
Engine::MonthYear value,
int index )
pure virtual

Assignes value to the field, defined by tag and entry index.

Parameters
indexgroup's entry index (starts at 0).
tagTag number of field to set data.
valueNew value for field.
Returns
"true" if the field defined by input tag was initialized previously, If field is just inserted, returned value is "false".
Exceptions
Utils::Exceptionif tag not defined for the group or entry index is invalid.

◆ set() [12/18]

virtual bool Engine::FIXGroup::set ( int tag,
Engine::UTCDateOnly value,
int index )
pure virtual

◆ set() [13/18]

virtual bool Engine::FIXGroup::set ( int tag,
Engine::UTCTimeOnly value,
int index )
pure virtual

◆ set() [14/18]

virtual bool Engine::FIXGroup::set ( int tag,
Engine::UTCTimestamp value,
int index )
pure virtual

◆ set() [15/18]

virtual bool Engine::FIXGroup::set ( int tag,
System::i32 value,
int index )
pure virtual

◆ set() [16/18]

virtual bool Engine::FIXGroup::set ( int tag,
System::i64 value,
int index )
pure virtual

◆ set() [17/18]

virtual bool Engine::FIXGroup::set ( int tag,
System::u32 value,
int index )
pure virtual

◆ set() [18/18]

virtual bool Engine::FIXGroup::set ( int tag,
System::u64 value,
int index )
pure virtual

◆ size()

virtual int Engine::FIXGroup::size ( ) const
throw ( )
pure virtual

Returns the number of entries in this repeating group.

Returns
Number of entries in this repeating group.

◆ visitTree()

virtual void Engine::FIXGroup::visitTree ( Engine::FixFieldsVisitor & visitor) const
pure virtual

◆ write()

virtual void Engine::FIXGroup::write ( int tag,
std::ostream & out,
int index ) const
pure virtual