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*.