Public Member Functions | Private Attributes | List of all members
FIX::Group Class Reference

Base class for all FIX repeating groups. More...

#include <Group.h>

Inheritance diagram for FIX::Group:
Inheritance graph
[legend]
Collaboration diagram for FIX::Group:
Collaboration graph
[legend]

Public Member Functions

 Group (int field, int delim)
 
 Group (int field, int delim, const int order[])
 
 Group (int field, int delim, const message_order &order)
 
 Group (const Group &copy)
 
int field () const
 
int delim () const
 
void addGroup (const Group &group)
 
void replaceGroup (unsigned num, const Group &group)
 
GroupgetGroup (unsigned num, Group &group) const throw ( FieldNotFound )
 
void removeGroup (unsigned num, const Group &group)
 
void removeGroup (const Group &group)
 
bool hasGroup (const Group &group)
 
bool hasGroup (unsigned num, const Group &group)
 
- Public Member Functions inherited from FIX::FieldMap
 FieldMap (const message_order &order=message_order(message_order::normal))
 
 FieldMap (const int order[])
 
 FieldMap (const FieldMap &copy)
 
virtual ~FieldMap ()
 
FieldMapoperator= (const FieldMap &rhs)
 
void setField (const FieldBase &field, bool overwrite=true) throw ( RepeatedTag )
 Set a field without type checking. More...
 
void setField (int tag, const std::string &value) throw ( RepeatedTag, NoTagValue )
 Set a field without a field class. More...
 
bool getFieldIfSet (FieldBase &field) const
 Get a field if set. More...
 
FieldBasegetField (FieldBase &field) const throw ( FieldNotFound )
 Get a field without type checking. More...
 
const std::string & getField (int tag) const throw ( FieldNotFound )
 Get a field without a field class. More...
 
const FieldBasegetFieldRef (int tag) const throw ( FieldNotFound )
 Get direct access to a field through a reference. More...
 
const FieldBase *const getFieldPtr (int tag) const throw ( FieldNotFound )
 Get direct access to a field through a pointer. More...
 
bool isSetField (const FieldBase &field) const
 Check to see if a field is set. More...
 
bool isSetField (int tag) const
 Check to see if a field is set by referencing its number. More...
 
void removeField (int tag)
 Remove a field. If field is not present, this is a no-op. More...
 
void addGroup (int tag, const FieldMap &group, bool setCount=true)
 Add a group. More...
 
void addGroupPtr (int tag, FieldMap *group, bool setCount=true)
 Acquire ownership of Group object. More...
 
void replaceGroup (int num, int tag, const FieldMap &group)
 Replace a specific instance of a group. More...
 
FieldMapgetGroup (int num, int tag, FieldMap &group) const throw ( FieldNotFound )
 Get a specific instance of a group. More...
 
FieldMapgetGroupRef (int num, int tag) const throw ( FieldNotFound )
 Get direct access to a field through a reference. More...
 
FieldMapgetGroupPtr (int num, int tag) const throw ( FieldNotFound )
 Get direct access to a field through a pointer. More...
 
void removeGroup (int num, int tag)
 Remove a specific instance of a group. More...
 
void removeGroup (int tag)
 Remove all instances of a group. More...
 
bool hasGroup (int tag) const
 Check to see any instance of a group exists. More...
 
bool hasGroup (int num, int tag) const
 Check to see if a specific instance of a group exists. More...
 
size_t groupCount (int tag) const
 Count the number of instance of a group. More...
 
void clear ()
 Clear all fields from the map. More...
 
bool isEmpty ()
 Check if map contains any fields. More...
 
size_t totalFields () const
 
std::string & calculateString (std::string &) const
 
int calculateLength (int beginStringField=FIELD::BeginString, int bodyLengthField=FIELD::BodyLength, int checkSumField=FIELD::CheckSum) const
 
int calculateTotal (int checkSumField=FIELD::CheckSum) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
g_iterator g_begin ()
 
g_iterator g_end ()
 
g_const_iterator g_begin () const
 
g_const_iterator g_end () const
 

Private Attributes

int m_field
 
int m_delim
 

Additional Inherited Members

- Public Types inherited from FIX::FieldMap
typedef std::vector< FieldBase, ALLOCATOR< FieldBase > > Fields
 
typedef std::map< int, std::vector< FieldMap * >, std::less< int >, ALLOCATOR< std::pair< const int, std::vector< FieldMap * > > > > Groups
 
typedef Fields::iterator iterator
 
typedef Fields::const_iterator const_iterator
 
typedef Groups::iterator g_iterator
 
typedef Groups::const_iterator g_const_iterator
 
- Protected Member Functions inherited from FIX::FieldMap
 FieldMap (const message_order &order, int size)
 
void addField (const FieldBase &field)
 
const FieldBasereverse_find (int tag) const
 
void appendField (const FieldBase &field)
 
void sortFields ()
 

Detailed Description

Base class for all FIX repeating groups.

A group consists of a count field, deliminator, and a sorting order.

Definition at line 57 of file Group.h.

Constructor & Destructor Documentation

◆ Group() [1/4]

FIX::Group::Group ( int  field,
int  delim 
)
inline

Definition at line 77 of file Group.h.

◆ Group() [2/4]

FIX::Group::Group ( int  field,
int  delim,
const int  order[] 
)
inline

Definition at line 81 of file Group.h.

◆ Group() [3/4]

FIX::Group::Group ( int  field,
int  delim,
const message_order order 
)
inline

Definition at line 84 of file Group.h.

◆ Group() [4/4]

FIX::Group::Group ( const Group copy)
inline

Definition at line 87 of file Group.h.

Member Function Documentation

◆ addGroup()

void FIX::Group::addGroup ( const Group group)

Definition at line 47 of file Group.cpp.

51 {

◆ delim()

int FIX::Group::delim ( ) const
inline

Definition at line 91 of file Group.h.

◆ field()

int FIX::Group::field ( ) const
inline

◆ getGroup()

Group & FIX::Group::getGroup ( unsigned  num,
Group group 
) const
throw (FieldNotFound
)

Definition at line 57 of file Group.cpp.

61 {

◆ hasGroup() [1/2]

bool FIX::Group::hasGroup ( const Group group)

Definition at line 77 of file Group.cpp.

◆ hasGroup() [2/2]

bool FIX::Group::hasGroup ( unsigned  num,
const Group group 
)

Definition at line 72 of file Group.cpp.

◆ removeGroup() [1/2]

void FIX::Group::removeGroup ( const Group group)

Definition at line 67 of file Group.cpp.

◆ removeGroup() [2/2]

void FIX::Group::removeGroup ( unsigned  num,
const Group group 
)

Definition at line 62 of file Group.cpp.

◆ replaceGroup()

void FIX::Group::replaceGroup ( unsigned  num,
const Group group 
)

Definition at line 52 of file Group.cpp.

56 {

Member Data Documentation

◆ m_delim

int FIX::Group::m_delim
private

Definition at line 103 of file Group.h.

◆ m_field

int FIX::Group::m_field
private

Definition at line 102 of file Group.h.


The documentation for this class was generated from the following files:

Generated on Wed Apr 29 2020 19:41:30 for QuickFIX by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2001