66 for(p.begin(packages); p; ++p)
79 for(p.begin(packages); p; ++p)
82 if (package->name() == name)
94 for(p.begin(packages); p; ++p)
98 EST_String name = package->lookup(func, found);
119 EST_error(
"Attempt to add package '%s' to global list",
130 packages.prepend(package);
137 packages.prepend(package);
153 if (cache.present(name))
154 return cache.val(name);
163 cache.add_item(name, func2);
171 for(p.begin(packages); p; ++p)
181 cache.add_item(name, ent.
func);
187 EST_error(
"No feature function '%s'", (
const char *)name);
201 package->lookup(name, found);
207 EST_error(
"No feature function '%s'", (
const char *)name);
220 #if defined(INSTANTIATE_TEMPLATES) 222 #include "../base_class/EST_THash.cc" 226 #include "../base_class/EST_TList.cc"
EST_Val(* EST_Item_featfunc)(class EST_Item *)
#define Instantiate_TStringHash(VAL)
EST_Item_featfunc get_featfunc(const EST_String name, int must=0)
bool package_included(const EST_String name) const
static void class_init(void)
static EST_String cat(const EST_String s1, const EST_String s2=Empty, const EST_String s3=Empty, const EST_String s4=Empty, const EST_String s5=Empty, const EST_String s6=Empty, const EST_String s7=Empty, const EST_String s8=Empty, const EST_String s9=Empty)
size_t search(const char *s, size_t len, size_t &mlen, ssize_t pos=0) const
Find a substring.
EST_FeatureFunctionContext(void)
EST_FeatureFunctionPackage * get_package(const EST_String name) const
static const EST_String separator
#define EST_STRING_ERR_IDX
EST_String get_featfunc_name(const EST_Item_featfunc func, int &found) const
~EST_FeatureFunctionContext(void)
#define Declare_TList_T(TYPE, TAG)
static EST_FeatureFunctionContext * global
size_t length(void) const
Length of string ({not} length of underlying chunk)
An open hash table. The number of buckets should be set to allow enough space that there are relative...
#define Instantiate_TList_T(TYPE, TAG)
EST_String after(int pos, int len=1) const
Part after pos+len.
EST_String before(int pos, int len=0) const
Part before position.
void add_package(EST_FeatureFunctionPackage *package)