27 #include "../../common/STLUtils.h"
33 std::map<std::string, std::vector<FunctionDefn*>* >::const_iterator it =
m_fMap.begin();
34 std::map<std::string, std::vector<FunctionDefn*>* >::const_iterator it_end =
m_fMap.end();
46 std::map<std::string, std::vector<FunctionDefn*>* >::const_iterator it = m_fMap.find(fdfn->
getName());
48 if(it != m_fMap.end())
50 it->second->push_back(fdfn);
54 std::vector<FunctionDefn*>* fcns =
new std::vector<FunctionDefn*>(1);
55 fcns->push_back(fdfn);
56 m_fMap.insert(std::map<std::string, std::vector<FunctionDefn*>* >::value_type(fdfn->
getName(), fcns));
A FunctionCatalog can be used to keep track of registered functions.
std::vector< FunctionDefn * > * find(const std::string &functionName) const
It finds the function with the given name.
~FunctionCatalog()
Destructor.
V * GetPValue(const std::map< K, V * > &m, const K &k)
It finds for a given key in the map and returns a pointer if something is found or NULL otherwise...
void insert(FunctionDefn *fdfn)
It inserts the function into the catalog.
The definition of a function that can be used in a query object.
const std::string & getName() const
It returns the function name.
The definition of a function that can be used in a query object.
void FreeContents(boost::unordered_map< K, V * > &m)
This function can be applied to a map of pointers. It will delete each pointer in the map...
std::map< std::string, std::vector< FunctionDefn * > * > m_fMap
Function map: function-name -> std::vector*.