GAMS  1.4.0
gams::groups Namespace Reference

Provides infrastructure for managing distributed groups. More...

Classes

class  GroupBase
 Base class for a group of agents. More...
 
class  GroupFactory
 Base class for a group factory. More...
 
class  GroupFactoryRepository
 A repository for group factories. More...
 
class  GroupFixedList
 A fixed list of agent members. More...
 
class  GroupFixedListFactory
 Factory for creating GroupFixedList groups. More...
 
class  GroupTransient
 A fixed list of agent members. More...
 
class  GroupTransientFactory
 Factory for creating GroupTransient groups. More...
 

Typedefs

typedef std::map< std::string, madara::knowledge::KnowledgeRecord::Integer > AgentMap
 A map of agent names. More...
 
typedef std::vector< std::string > AgentVector
 A vector of agent names. More...
 
typedef std::map< GroupType, GroupFactory * > GroupFactoryMap
 Convenience typedef for a map of types to factories. More...
 
typedef madara::knowledge::KnowledgeRecord::Integer GroupType
 convenience typedef for GroupType More...
 

Enumerations

enum  GroupTypes { GROUP_FIXED_LIST = 0 , GROUP_TRANSIENT = 1 , NUM_GROUP_TYPES = 2 }
 Known group types. More...
 

Functions

int find_member_index (const std::string &prefix, const AgentVector &members)
 Finds the index of the member prefix in a member listing. More...
 

Detailed Description

Provides infrastructure for managing distributed groups.

Typedef Documentation

◆ AgentMap

typedef std::map<std::string, madara::knowledge::KnowledgeRecord::Integer> gams::groups::AgentMap

A map of agent names.

Definition at line 75 of file GroupBase.h.

◆ AgentVector

typedef std::vector<std::string> gams::groups::AgentVector

A vector of agent names.

Definition at line 71 of file GroupBase.h.

◆ GroupFactoryMap

Convenience typedef for a map of types to factories.

Definition at line 71 of file GroupFactoryRepository.h.

◆ GroupType

typedef madara::knowledge::KnowledgeRecord::Integer gams::groups::GroupType

convenience typedef for GroupType

Definition at line 81 of file GroupTypesEnum.h.

Enumeration Type Documentation

◆ GroupTypes

Known group types.

Enumerator
GROUP_FIXED_LIST 
GROUP_TRANSIENT 
NUM_GROUP_TYPES 

Definition at line 72 of file GroupTypesEnum.h.

Function Documentation

◆ find_member_index()

int gams::groups::find_member_index ( const std::string &  prefix,
const AgentVector members 
)

Finds the index of the member prefix in a member listing.

Parameters
prefixthe prefix of the agent(e.g. "agent.0")
membersthe listing of all members in the group
Returns
0+ is the index of the prefix in the list. If member does not exist in the member listing, then -1 is returned.