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.
 
void setField (int tag, const std::string &value) throw ( RepeatedTag, NoTagValue )
 Set a field without a field class.
 
bool getFieldIfSet (FieldBase &field) const
 Get a field if set.
 
FieldBasegetField (FieldBase &field) const throw ( FieldNotFound )
 Get a field without type checking.
 
const std::string & getField (int tag) const throw ( FieldNotFound )
 Get a field without a field class.
 
const FieldBasegetFieldRef (int tag) const throw ( FieldNotFound )
 Get direct access to a field through a reference.
 
const FieldBase *const getFieldPtr (int tag) const throw ( FieldNotFound )
 Get direct access to a field through a pointer.
 
bool isSetField (const FieldBase &field) const
 Check to see if a field is set.
 
bool isSetField (int tag) const
 Check to see if a field is set by referencing its number.
 
void removeField (int tag)
 Remove a field. If field is not present, this is a no-op.
 
void addGroup (int tag, const FieldMap &group, bool setCount=true)
 Add a group.
 
void addGroupPtr (int tag, FieldMap *group, bool setCount=true)
 Acquire ownership of Group object.
 
void replaceGroup (int num, int tag, const FieldMap &group)
 Replace a specific instance of a group.
 
FieldMapgetGroup (int num, int tag, FieldMap &group) const throw ( FieldNotFound )
 Get a specific instance of a group.
 
FieldMapgetGroupRef (int num, int tag) const throw ( FieldNotFound )
 Get direct access to a field through a reference.
 
FieldMapgetGroupPtr (int num, int tag) const throw ( FieldNotFound )
 Get direct access to a field through a pointer.
 
void removeGroup (int num, int tag)
 Remove a specific instance of a group.
 
void removeGroup (int tag)
 Remove all instances of a group.
 
bool hasGroup (int tag) const
 Check to see any instance of a group exists.
 
bool hasGroup (int num, int tag) const
 Check to see if a specific instance of a group exists.
 
size_t groupCount (int tag) const
 Count the number of instance of a group.
 
void clear ()
 Clear all fields from the map.
 
bool isEmpty ()
 Check if map contains any fields.
 
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 40 of file Group.h.

Constructor & Destructor Documentation

◆ Group() [1/4]

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

Definition at line 43 of file Group.h.

44 : FieldMap( message_order( delim, 0 ) ),
45 m_field( field ), m_delim( delim ) {}
FieldMap(const message_order &order, int size)
Definition FieldMap.cpp:34
int delim() const
Definition Group.h:57
int m_delim
Definition Group.h:69
int m_field
Definition Group.h:68
int field() const
Definition Group.h:56

◆ Group() [2/4]

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

Definition at line 47 of file Group.h.

48 : FieldMap( order ), m_field( field ), m_delim( delim ) {}

◆ Group() [3/4]

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

Definition at line 50 of file Group.h.

51 : FieldMap( order ), m_field( field ), m_delim( delim ) {}

◆ Group() [4/4]

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

Definition at line 53 of file Group.h.

54 : FieldMap( copy ), m_field( copy.m_field ), m_delim( copy.m_delim ) {}

Member Function Documentation

◆ addGroup()

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

Definition at line 30 of file Group.cpp.

31{
32 FieldMap::addGroup( group.field(), group );
33}
void addGroup(int tag, const FieldMap &group, bool setCount=true)
Add a group.
Definition FieldMap.cpp:83

References FIX::FieldMap::addGroup(), and field().

◆ delim()

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

Definition at line 57 of file Group.h.

57{ return m_delim; }

References m_delim.

◆ field()

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

◆ getGroup()

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

Definition at line 40 of file Group.cpp.

41{
42 return static_cast < Group& > ( FieldMap::getGroup( num, group.field(), group ) );
43}
FieldMap & getGroup(int num, int tag, FieldMap &group) const
Get a specific instance of a group.
Definition FieldMap.h:207
Group(int field, int delim)
Definition Group.h:43

References FIX::FieldMap::getGroup().

◆ hasGroup() [1/2]

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

Definition at line 60 of file Group.cpp.

61{
62 return FieldMap::hasGroup( group.field() );
63}
bool hasGroup(int tag) const
Check to see any instance of a group exists.
Definition FieldMap.cpp:168

References field(), and FIX::FieldMap::hasGroup().

◆ hasGroup() [2/2]

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

Definition at line 55 of file Group.cpp.

56{
57 return FieldMap::hasGroup( num, group.field() );
58}

References field(), and FIX::FieldMap::hasGroup().

◆ removeGroup() [1/2]

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

Definition at line 50 of file Group.cpp.

51{
52 FieldMap::removeGroup( group.field() );
53}
void removeGroup(int num, int tag)
Remove a specific instance of a group.
Definition FieldMap.cpp:111

References field(), and FIX::FieldMap::removeGroup().

◆ removeGroup() [2/2]

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

Definition at line 45 of file Group.cpp.

46{
47 FieldMap::removeGroup( num, group.field() );
48}

References field(), and FIX::FieldMap::removeGroup().

◆ replaceGroup()

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

Definition at line 35 of file Group.cpp.

36{
37 FieldMap::replaceGroup( num, group.field(), group );
38}
void replaceGroup(int num, int tag, const FieldMap &group)
Replace a specific instance of a group.
Definition FieldMap.cpp:102

References field(), and FIX::FieldMap::replaceGroup().

Member Data Documentation

◆ m_delim

int FIX::Group::m_delim
private

Definition at line 69 of file Group.h.

Referenced by delim().

◆ m_field

int FIX::Group::m_field
private

Definition at line 68 of file Group.h.

Referenced by field().


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

Generated on Fri Sep 27 2024 13:45:21 for QuickFIX by doxygen 1.9.8 written by Dimitri van Heesch, © 1997-2001