B2BITS FIX Antenna C++  2.31.0
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. More...
 
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. More...
 
const_forward_iterator end () const
 
 FIXGroup ()
 Default constructor. More...
 
virtual const std::string * get (int tag, int index) const =0
 Returns field value by tag number and entry's index. More...
 
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. More...
 
virtual bool getAsBoolean (int tag, int index) const =0
 Returns value as byte array. More...
 
virtual char getAsChar (int tag, int index) const =0
 Returns value as double. More...
 
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. More...
 
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. More...
 
virtual AsciiString getAsString (int tag, int index) const =0
 Returns value as std::string. More...
 
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 TagValuegetEntry (int index)=0
 Returns group entry by index. More...
 
virtual TagValue const * getEntry (int index) const =0
 Returns group entry by index. More...
 
virtual FixFieldsContainergetFields () const =0
 Returns list of the message fields and their values. More...
 
virtual FIXGroupgetGroup (int tag, int index)=0
 Returns nested repeating group. More...
 
virtual FIXGroup const * getGroup (int tag, int index) const =0
 
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. More...
 
virtual bool isEmpty (int tag, int index) const =0
 Returns true if value of the field is empty; false otherwise. More...
 
virtual bool isEqual (int tag, int index, TagValue const *rv, int rvTag) const =0
 
virtual bool isSupported (int tag) const =0 throw ()
 Verifies is field acceptable inside this group. More...
 
virtual int leadingField () const =0 throw ()
 Returns the leading field tag of the repeating group. More...
 
virtual bool remove (int tag, int index)=0
 Removes field, defined by input tag, from the given entry. More...
 
virtual bool set (int tag, const FIXFieldValue &value, int index)=0
 Assignes value to the field, defined by tag and entry index. More...
 
virtual bool set (int tag, const std::string &value, int index)=0
 Assignes value to the field, defined by tag and entry index. More...
 
virtual bool set (int tag, Engine::MonthYear value, int index)=0
 Assignes value to the field, defined by tag and entry index. More...
 
virtual bool set (int tag, Engine::LocalMktDate value, int index)=0
 
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::u32 value, int index)=0
 
virtual bool set (int tag, System::i64 value, int index)=0
 
virtual bool set (int tag, System::u64 value, int index)=0
 
virtual bool set (int tag, double value, int index)=0
 
virtual bool set (int tag, Decimal value, int index)=0
 
virtual bool set (int tag, AsciiString value, int index)=0
 
virtual bool set (int tag, ByteArray value, int index)=0
 
virtual bool set (int tag, char value, int index)=0
 
virtual bool set (int tag, bool value, int index)=0
 
bool set (int tag, char const *value, int index)
 
virtual int size () const =0 throw ()
 Returns the number of entries in this repeating group. More...
 
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. More...
 
static void release (FIXGroup const *pGroup)
 Releases resources used by the given group instance. More...
 

Protected Member Functions

virtual ~FIXGroup ()
 Destructor. More...
 

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 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

◆ get() [2/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.

◆ 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* Engine::FIXGroup::getEntry ( int  index)
pure virtual

Returns group entry by index.

Returns
group entry by index

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

◆ getEntry() [2/2]

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

Returns group entry by index.

Returns
group entry by index

◆ 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* 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().

◆ getGroup() [2/2]

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

◆ 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,
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() [2/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() [3/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() [4/18]

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

◆ set() [5/18]

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

◆ set() [6/18]

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

◆ set() [7/18]

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

◆ set() [8/18]

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

◆ set() [9/18]

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

◆ set() [10/18]

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

◆ set() [11/18]

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

◆ set() [12/18]

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

◆ set() [13/18]

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

◆ set() [14/18]

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

◆ set() [15/18]

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

◆ set() [16/18]

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

◆ set() [17/18]

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

◆ set() [18/18]

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

◆ 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