40 #include "ling_class/EST_Item.h"
41 #include "ling_class/EST_FeatureFunctionPackage.h"
52 ostream &operator << (ostream &s,
56 return s <<
"<<EST_FeatureFunctionPackage::Entry>>";
59 #if defined(INSTANTIATE_TEMPLATES)
61 #include "../base_class/EST_THash.cc"
70 return e1.func == e2.func;
74 EST_FeatureFunctionPackage::EST_FeatureFunctionPackage(
const EST_String name,
int n)
75 : p_name(name), p_entries(n)
78 cerr <<
"initialise functionon package " << p_name <<
"\n";
82 EST_FeatureFunctionPackage::EST_FeatureFunctionPackage(
const char *name,
int n)
83 : p_name(name), p_entries(n)
87 void EST_FeatureFunctionPackage::register_func(
const EST_String &name,
88 const EST_Item_featfunc func)
91 cerr <<
"register " << p_name <<
"::" << name <<
"\n";
93 if (p_entries.present(name))
94 EST_warning(
"Feature function %s::%s redefined",
100 p_entries.add_item(name, e);
106 return p_entries.val(name, found);
109 const EST_String EST_FeatureFunctionPackage::lookup(
const EST_Item_featfunc func,
int &found)
const
113 for(p.
begin(p_entries); p; ++p)
114 if (p->v.func == func)