38#ifndef __EST_FEATURES_H__
39#define __EST_FEATURES_H__
44#include "EST_TIterator.h"
54EST_Val est_val(
const EST_Item_featfunc f);
70 static EST_Val feature_default_value;
142 {
return val_path(path, def).Float(); }
153 {
return val_path(path, def).Int(); }
165 {
return val_path(path, def).string(); }
217 { features->add_item(name,sval); }
247 { features->remove_item(name,1); }
250 int length()
const {
return features->length(); }
262 { f.save(s);
return s; }
268 EST_Litem *head()
const {
return features->list.head(); }
271 float F(
EST_Litem *p)
const {
return features->list(p).
v.Float(); }
273 int I(
EST_Litem *p)
const {
return features->list(p).
v.Int(); }
283 {
ip.i.begin(*features);}
284 void move_pointer_forwards(IPointer &
ip)
const
286 bool points_to_something(
const IPointer &
ip)
const
287 {
return ip.i != 0; }
void set(const EST_String &name, const char *cval)
EST_Features & A(const EST_String &path) const
void set(const EST_String &name, int ival)
EST_Features & operator=(const EST_Features &a)
const EST_Val & val(const char *name) const
const EST_Val & operator()(const EST_String &path) const
void set_path(const EST_String &name, const EST_Val &sval)
void remove(const EST_String &name)
friend ostream & operator<<(ostream &s, const EST_Features &f)
const EST_String S(const EST_String &path, const EST_String &def) const
void set_function(const EST_String &name, const EST_String &f)
const EST_Val & f(const EST_String &path, const EST_Val &def) const
void set_val(const EST_String &name, const EST_Val &sval)
EST_read_status load(EST_TokenStream &ts)
load features from already opened EST_TokenStream
EST_read_status load_sexpr(EST_TokenStream &ts)
load features from sexpression, contained in already opened EST_TokenStream
void set(const EST_String &name, EST_Features &f)
EST_write_status save(ostream &outf) const
save features in already opened ostream
const float F(const EST_String &path) const
const EST_String S(const EST_String &path) const
const int I(const EST_String &path, int def) const
const EST_Val & f(const EST_String &path) const
int present(const EST_String &name) const
EST_write_status save_sexpr(ostream &outf) const
save features as s-expression in already opened ostream
const int I(const EST_String &path) const
void set(const EST_String &name, float fval)
void set(const EST_String &name, const EST_String &sval)
const EST_Val & val_path(const EST_String &path) const
const float F(const EST_String &path, float def) const
void set(const EST_String &name, double dval)