54 #ifndef _GAMS_GROUPS_GROUP_FACTORY_REPOSITORY_H_
55 #define _GAMS_GROUPS_GROUP_FACTORY_REPOSITORY_H_
61 #include "madara/knowledge/KnowledgeBase.h"
135 #include "GroupFactoryRepository.inl"
Copyright(c) 2016 Carnegie Mellon University.
Base class for a group of agents.
A repository for group factories.
void set_knowledge(madara::knowledge::KnowledgeBase *knowledge)
Sets the knowledge base.
GroupBase * create(GroupType type)
Creates a group based on type.
void init(void)
Initializes factories for all supported GAMS groups.
virtual ~GroupFactoryRepository()
Destructor.
GroupBase * create(const std::string &prefix)
Creates a group based on group prefix in the knowledge base.
GroupFactoryMap factory_map_
a mapping of types to group factories
void add(GroupType type, GroupFactory *factory)
Adds an algorithm factory.
GroupFactoryRepository(madara::knowledge::KnowledgeBase *knowledge=0)
Constructor.
madara::knowledge::KnowledgeBase * knowledge_
knowledge base containing variables
Base class for a group factory.
std::map< GroupType, GroupFactory * > GroupFactoryMap
Convenience typedef for a map of types to factories.
madara::knowledge::KnowledgeRecord::Integer GroupType
convenience typedef for GroupType
Contains all GAMS-related tools, classes and code.