40#include "ling_class/EST_Item.h"
41#include "ling_class/EST_FeatureFunctionPackage.h"
56 return s <<
"<<EST_FeatureFunctionPackage::Entry>>";
59#if defined(INSTANTIATE_TEMPLATES)
61#include "../base_class/EST_THash.cc"
70return e1.func ==
e2.func;
74EST_FeatureFunctionPackage::EST_FeatureFunctionPackage(
const EST_String name,
int n)
75 : p_name(name), p_entries(n)
78 cerr <<
"initialise functionon package " << p_name <<
"\n";
82EST_FeatureFunctionPackage::EST_FeatureFunctionPackage(
const char *name,
int n)
83 : p_name(name), p_entries(n)
87void 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);
109const 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)