<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>class EST_Features</TITLE> <META NAME="GENERATOR" CONTENT="DOC++ 3.4.6"> </HEAD> <body bgcolor="#ffffff" link="#0000ff" vlink="#dd0000" text="#000088" alink="9000ff"> <A HREF = "http://www.cstr.ed.ac.uk/"> <IMG align=left BORDER=0 SRC = "cstr.gif"></A> <A HREF="http://www.cstr.ed.ac.uk/projects/speech_tools.html"> <IMG BORDER=0 ALIGN=right SRC="est.jpg" width=150 height=93></A> <br> <br clear=left> <p align=right> In file ../include/EST_Features.h:<TABLE BORDER=0><TR> <TD VALIGN=TOP><H2>class <A HREF="#DOC.DOCU">EST_Features</A></H2></TD></H2></TD></TR></TABLE> <BLOCKQUOTE>A class for containing feature structures which can hold atomic values (int, float, string) or other feature structures</BLOCKQUOTE> <HR> <DL> <P><TABLE> <DT><H3>Public Methods</H3><DD><TR> <TD VALIGN=TOP><A HREF="#DOC.122.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Access functions which return EST_Val. </B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.122.1.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_Val.html">EST_Val</A>& </TD><TD><B>val</B> (const char* <!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>) const <BR> <I>Look up directly without decomposing name as path (just simple feature)</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.1.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_Val.html">EST_Val</A>& </TD><TD><B>val</B> (const char* <!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_Val.html">EST_Val</A> &def) const <BR> <I>Look up directly without decomposing name as path (just simple feature), returning <parameter>def</paramater> if not found</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.1.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_Val.html">EST_Val</A>& </TD><TD><B>val_path</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path) const <BR> <I>Look up feature name, which may be simple feature or path</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.1.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_Val.html">EST_Val</A>& </TD><TD><B>val_path</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path, const <!1><A HREF="EST_Val.html">EST_Val</A> &def) const <BR> <I>Look up feature name, which may be simple feature or path, returning <parameter>def</paramater> if not found</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.1.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_Val.html">EST_Val</A>& </TD><TD><B>operator() </B> (const <!1><A HREF="EST_String.html">EST_String</A> &path) const <BR> <I>Look up feature name, which may be simple feature or path</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.1.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_Val.html">EST_Val</A>& </TD><TD><B>operator() </B> (const <!1><A HREF="EST_String.html">EST_String</A> &path, const <!1><A HREF="EST_Val.html">EST_Val</A> &def) const <BR> <I>Look up feature name, which may be simple feature or path, returning <parameter>def</paramater> if not found</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.1.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_Val.html">EST_Val</A>& </TD><TD><B>f</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path)<BR> <I>Look up feature name, which may be simple feature or path</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.1.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_Val.html">EST_Val</A>& </TD><TD><B>f</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path, const <!1><A HREF="EST_Val.html">EST_Val</A> &def)<BR> <I>Look up feature name, which may be simple feature or path, returning <parameter>def</paramater> if not found</I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Access functions which return types. </B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.122.2.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const float </TD><TD><B>F</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path) const <BR> <I>Look up feature name, which may be simple feature or path, and return as a float </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.2.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const float </TD><TD><B>F</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path, float def) const <BR> <I>Look up feature name, which may be simple feature or path, and return as a float, returning <parameter>def</paramater> if not found </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.2.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const int </TD><TD><B>I</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path) const <BR> <I>Look up feature name, which may be simple feature or path, and return as an int </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.2.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const int </TD><TD><B>I</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path, int def) const <BR> <I>Look up feature name, which may be simple feature or path, and return as an int, returning <parameter>def</paramater> if not found </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.2.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_String.html">EST_String</A> </TD><TD><B>S</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path) const <BR> <I>Look up feature name, which may be simple feature or path, and return as a EST_String </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.2.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_String.html">EST_String</A> </TD><TD><B>S</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path, const <!1><A HREF="EST_String.html">EST_String</A> &def) const <BR> <I>Look up feature name, which may be simple feature or path, and return as a EST_String, returning <parameter>def</paramater> if not found </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.2.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_Features.html">EST_Features</A>& </TD><TD><B>A</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path) const <BR> <I>Look up feature name, which may be simple feature or path, and return as a EST_Features </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.2.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_Features.html">EST_Features</A>& </TD><TD><B>A</B> (const <!1><A HREF="EST_String.html">EST_String</A> &path, <!1><A HREF="EST_Features.html">EST_Features</A> &def) const <BR> <I>Look up feature name, which may be simple feature or path, and return as a EST_Features, returning <parameter>def</paramater> if not found </I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Setting features</B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, int <!1><A HREF="EST_Option.html#DOC.3.7">ival</A>)<BR> <I>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>ival</parameter></I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, float <!1><A HREF="EST_Option.html#DOC.3.9">fval</A>)<BR> <I>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>fval</parameter></I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, double <!1><A HREF="EST_Option.html#DOC.3.8">dval</A>)<BR> <I>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>dval</parameter></I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Option.html#DOC.3.10">sval</A>)<BR> <I>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>sval</parameter></I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const char* cval)<BR> <I>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>cval</parameter></I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set_val</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_Val.html">EST_Val</A> &<!1><A HREF="EST_Option.html#DOC.3.10">sval</A>)<BR> <I>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>val<parameter>.</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set_path</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_Val.html">EST_Val</A> &<!1><A HREF="EST_Option.html#DOC.3.10">sval</A>)<BR> <I>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>val<parameter>, where <parameter>name<parameter> is a path</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set_function</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Features.html#DOC.122.1.7">f</A>)<BR> <I>Add a new feature feature or set an existing feature <parameter>name<parameter> to value <parameter>f</parameter>, which is the named of a registered feature function</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.3.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, <!1><A HREF="EST_Features.html">EST_Features</A> &<!1><A HREF="EST_Features.html#DOC.122.1.7">f</A>)<BR> <I>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>f</parameter>, which itself is a EST_Features.</I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Utility functions</B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.122.4.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>remove</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>)<BR> <I>remove the named feature </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.4.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>length</B> () const <BR> <I>number of features in feature structure </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.4.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>present</B> (const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>) const <BR> <I>return 1 if the feature is present </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.4.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>clear</B> ()<BR> <I>Delete all features from object </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.4.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_Features.html">EST_Features</A>& </TD><TD><B>operator = </B> (const <!1><A HREF="EST_Features.html">EST_Features</A>& <!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR> <I>Feature assignment </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.4.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>f.save</B> (s)<BR> <I></I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>File I/O</B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.122.6.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_read_status.html">EST_read_status</A> </TD><TD><B>load</B> (<!1><A HREF="EST_TokenStream.html">EST_TokenStream</A> &ts)<BR> <I>load features from already opened EST_TokenStream</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.6.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_read_status.html">EST_read_status</A> </TD><TD><B>load_sexpr</B> (<!1><A HREF="EST_TokenStream.html">EST_TokenStream</A> &ts)<BR> <I>load features from sexpression, contained in already opened EST_TokenStream </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.6.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_write_status.html">EST_write_status</A> </TD><TD><B>save</B> (ostream &outf) const <BR> <I>save features in already opened ostream</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.122.6.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_write_status.html">EST_write_status</A> </TD><TD><B>save_sexpr</B> (ostream &outf) const <BR> <I>save features as s-expression in already opened ostream</I> </TD></TR></TABLE></P> </TD></TR></TABLE></P> </DL> <A NAME="DOC.DOCU"></A> <HR> <H2>Documentation</H2> <BLOCKQUOTE>A class for containing feature structures which can hold atomic values (int, float, string) or other feature structures</BLOCKQUOTE> <DL> <A NAME="Access functions which return EST_Val. "></A> <A NAME="DOC.122.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Access functions which return EST_Val. </B></TT> <DD>Features can either be simple features, in which their name is the name of an plain attribute (e.g. "name"), or path features where their name is a dot separated path of concatenated attributes (e.g. "df.poa.alveolar"). <DL><DT><DD></DL><P><DL> <A NAME="val"></A> <A NAME="DOC.122.1.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_Val.html">EST_Val</A>& val(const char* <!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>) const </B></TT> <DD>Look up directly without decomposing name as path (just simple feature) <DL><DT><DD></DL><P> <A NAME="val"></A> <A NAME="DOC.122.1.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_Val.html">EST_Val</A>& val(const char* <!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_Val.html">EST_Val</A> &def) const </B></TT> <DD>Look up directly without decomposing name as path (just simple feature), returning <parameter>def</paramater> if not found <DL><DT><DD></DL><P> <A NAME="val_path"></A> <A NAME="DOC.122.1.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_Val.html">EST_Val</A>& val_path(const <!1><A HREF="EST_String.html">EST_String</A> &path) const </B></TT> <DD>Look up feature name, which may be simple feature or path <DL><DT><DD></DL><P> <A NAME="val_path"></A> <A NAME="DOC.122.1.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_Val.html">EST_Val</A>& val_path(const <!1><A HREF="EST_String.html">EST_String</A> &path, const <!1><A HREF="EST_Val.html">EST_Val</A> &def) const </B></TT> <DD>Look up feature name, which may be simple feature or path, returning <parameter>def</paramater> if not found <DL><DT><DD></DL><P> <A NAME="operator() "></A> <A NAME="DOC.122.1.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_Val.html">EST_Val</A>& operator() (const <!1><A HREF="EST_String.html">EST_String</A> &path) const </B></TT> <DD>Look up feature name, which may be simple feature or path <DL><DT><DD></DL><P> <A NAME="operator() "></A> <A NAME="DOC.122.1.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_Val.html">EST_Val</A>& operator() (const <!1><A HREF="EST_String.html">EST_String</A> &path, const <!1><A HREF="EST_Val.html">EST_Val</A> &def) const </B></TT> <DD>Look up feature name, which may be simple feature or path, returning <parameter>def</paramater> if not found <DL><DT><DD></DL><P> <A NAME="f"></A> <A NAME="DOC.122.1.7"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_Val.html">EST_Val</A>& f(const <!1><A HREF="EST_String.html">EST_String</A> &path)</B></TT> <DD>Look up feature name, which may be simple feature or path <DL><DT><DD></DL><P> <A NAME="f"></A> <A NAME="DOC.122.1.8"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_Val.html">EST_Val</A>& f(const <!1><A HREF="EST_String.html">EST_String</A> &path, const <!1><A HREF="EST_Val.html">EST_Val</A> &def)</B></TT> <DD>Look up feature name, which may be simple feature or path, returning <parameter>def</paramater> if not found <DL><DT><DD></DL><P></DL> <A NAME="Access functions which return types. "></A> <A NAME="DOC.122.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Access functions which return types. </B></TT> <DD>These functions cast their EST_Val return value to a requested type, eithe float, int, string or features (A). In all cases the name can be a simple feature or a path, in which case their name is a dot separated string of concatenated attributes (e.g. "df.poa.alveolar"). <DL><DT><DD></DL><P><DL> <A NAME="F"></A> <A NAME="DOC.122.2.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const float F(const <!1><A HREF="EST_String.html">EST_String</A> &path) const </B></TT> <DD>Look up feature name, which may be simple feature or path, and return as a float <DL><DT><DD></DL><P> <A NAME="F"></A> <A NAME="DOC.122.2.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const float F(const <!1><A HREF="EST_String.html">EST_String</A> &path, float def) const </B></TT> <DD>Look up feature name, which may be simple feature or path, and return as a float, returning <parameter>def</paramater> if not found <DL><DT><DD></DL><P> <A NAME="I"></A> <A NAME="DOC.122.2.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const int I(const <!1><A HREF="EST_String.html">EST_String</A> &path) const </B></TT> <DD>Look up feature name, which may be simple feature or path, and return as an int <DL><DT><DD></DL><P> <A NAME="I"></A> <A NAME="DOC.122.2.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const int I(const <!1><A HREF="EST_String.html">EST_String</A> &path, int def) const </B></TT> <DD>Look up feature name, which may be simple feature or path, and return as an int, returning <parameter>def</paramater> if not found <DL><DT><DD></DL><P> <A NAME="S"></A> <A NAME="DOC.122.2.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_String.html">EST_String</A> S(const <!1><A HREF="EST_String.html">EST_String</A> &path) const </B></TT> <DD>Look up feature name, which may be simple feature or path, and return as a EST_String <DL><DT><DD></DL><P> <A NAME="S"></A> <A NAME="DOC.122.2.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_String.html">EST_String</A> S(const <!1><A HREF="EST_String.html">EST_String</A> &path, const <!1><A HREF="EST_String.html">EST_String</A> &def) const </B></TT> <DD>Look up feature name, which may be simple feature or path, and return as a EST_String, returning <parameter>def</paramater> if not found <DL><DT><DD></DL><P> <A NAME="A"></A> <A NAME="DOC.122.2.7"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_Features.html">EST_Features</A>& A(const <!1><A HREF="EST_String.html">EST_String</A> &path) const </B></TT> <DD>Look up feature name, which may be simple feature or path, and return as a EST_Features <DL><DT><DD></DL><P> <A NAME="A"></A> <A NAME="DOC.122.2.8"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_Features.html">EST_Features</A>& A(const <!1><A HREF="EST_String.html">EST_String</A> &path, <!1><A HREF="EST_Features.html">EST_Features</A> &def) const </B></TT> <DD>Look up feature name, which may be simple feature or path, and return as a EST_Features, returning <parameter>def</paramater> if not found <DL><DT><DD></DL><P></DL> <A NAME="Setting features"></A> <A NAME="DOC.122.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Setting features</B></TT> <DL><DT><DD></DL><P><DL> <A NAME="set"></A> <A NAME="DOC.122.3.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, int <!1><A HREF="EST_Option.html#DOC.3.7">ival</A>)</B></TT> <DD>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>ival</parameter> <DL><DT><DD></DL><P> <A NAME="set"></A> <A NAME="DOC.122.3.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, float <!1><A HREF="EST_Option.html#DOC.3.9">fval</A>)</B></TT> <DD>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>fval</parameter> <DL><DT><DD></DL><P> <A NAME="set"></A> <A NAME="DOC.122.3.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, double <!1><A HREF="EST_Option.html#DOC.3.8">dval</A>)</B></TT> <DD>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>dval</parameter> <DL><DT><DD></DL><P> <A NAME="set"></A> <A NAME="DOC.122.3.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Option.html#DOC.3.10">sval</A>)</B></TT> <DD>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>sval</parameter> <DL><DT><DD></DL><P> <A NAME="set"></A> <A NAME="DOC.122.3.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const char* cval)</B></TT> <DD>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>cval</parameter> <DL><DT><DD></DL><P> <A NAME="set_val"></A> <A NAME="DOC.122.3.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set_val(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_Val.html">EST_Val</A> &<!1><A HREF="EST_Option.html#DOC.3.10">sval</A>)</B></TT> <DD>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>val<parameter>. <parameter>Name<parameter> must be not be a path. <DL><DT><DD></DL><P> <A NAME="set_path"></A> <A NAME="DOC.122.3.7"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set_path(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_Val.html">EST_Val</A> &<!1><A HREF="EST_Option.html#DOC.3.10">sval</A>)</B></TT> <DD>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>val<parameter>, where <parameter>name<parameter> is a path <DL><DT><DD></DL><P> <A NAME="set_function"></A> <A NAME="DOC.122.3.8"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set_function(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Features.html#DOC.122.1.7">f</A>)</B></TT> <DD>Add a new feature feature or set an existing feature <parameter>name<parameter> to value <parameter>f</parameter>, which is the named of a registered feature function <DL><DT><DD></DL><P> <A NAME="set"></A> <A NAME="DOC.122.3.9"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>, <!1><A HREF="EST_Features.html">EST_Features</A> &<!1><A HREF="EST_Features.html#DOC.122.1.7">f</A>)</B></TT> <DD>Add a new feature or set an existing feature <parameter>name<parameter> to value <parameter>f</parameter>, which itself is a EST_Features. The information in <parameter>f</parameter> is copied into the features. <DL><DT><DD></DL><P></DL> <A NAME="Utility functions"></A> <A NAME="DOC.122.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Utility functions</B></TT> <DL><DT><DT><B>Friends:</B><DD> ostream& operator << (ostream &s, const <!1><A HREF="EST_Features.html">EST_Features</A> &<!1><A HREF="EST_Features.html#DOC.122.1.7">f</A>)<BR><DD></DL><P><DL> <A NAME="remove"></A> <A NAME="DOC.122.4.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void remove(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>)</B></TT> <DD>remove the named feature <DL><DT><DD></DL><P> <A NAME="length"></A> <A NAME="DOC.122.4.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int length() const </B></TT> <DD>number of features in feature structure <DL><DT><DD></DL><P> <A NAME="present"></A> <A NAME="DOC.122.4.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int present(const <!1><A HREF="EST_String.html">EST_String</A> &<!1><A HREF="EST_Wave.html#DOC.81.5.9">name</A>) const </B></TT> <DD>return 1 if the feature is present <DL><DT><DD></DL><P> <A NAME="clear"></A> <A NAME="DOC.122.4.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void clear()</B></TT> <DD>Delete all features from object <DL><DT><DD></DL><P> <A NAME="operator = "></A> <A NAME="DOC.122.4.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_Features.html">EST_Features</A>& operator = (const <!1><A HREF="EST_Features.html">EST_Features</A>& <!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT> <DD>Feature assignment <DL><DT><DD></DL><P> <A NAME="f.save"></A> <A NAME="DOC.122.4.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> f.save(s)</B></TT> <DL><DT><DD></DL><P></DL> <A NAME="Iteration"></A> <A NAME="DOC.122.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Iteration</B></TT> <DL><DT><DD></DL><P> <A NAME="File I/O"></A> <A NAME="DOC.122.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> File I/O</B></TT> <DL><DT><DD></DL><P><DL> <A NAME="load"></A> <A NAME="DOC.122.6.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_read_status.html">EST_read_status</A> load(<!1><A HREF="EST_TokenStream.html">EST_TokenStream</A> &ts)</B></TT> <DD>load features from already opened EST_TokenStream <DL><DT><DD></DL><P> <A NAME="load_sexpr"></A> <A NAME="DOC.122.6.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_read_status.html">EST_read_status</A> load_sexpr(<!1><A HREF="EST_TokenStream.html">EST_TokenStream</A> &ts)</B></TT> <DD>load features from sexpression, contained in already opened EST_TokenStream <DL><DT><DD></DL><P> <A NAME="save"></A> <A NAME="DOC.122.6.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_write_status.html">EST_write_status</A> save(ostream &outf) const </B></TT> <DD>save features in already opened ostream <DL><DT><DD></DL><P> <A NAME="save_sexpr"></A> <A NAME="DOC.122.6.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_write_status.html">EST_write_status</A> save_sexpr(ostream &outf) const </B></TT> <DD>save features as s-expression in already opened ostream <DL><DT><DD></DL><P></DL> </DL> <HR><DL><DT><B>This class has no child classes.</B></DL> <DL><DT><DT><B>Friends:</B><DD> class <!1><A HREF="EST_TIterator.html">EST_TIterator</A>< <!1><A HREF="EST_Features.html">EST_Features</A>, IPointer, <!1><A HREF="EST_TKVI.html">EST_TKVI</A><<!1><A HREF="EST_String.html">EST_String</A>, <!1><A HREF="EST_Val.html">EST_Val</A>> ><BR> class EST_TStructIterator< <!1><A HREF="EST_Features.html">EST_Features</A>, IPointer, <!1><A HREF="EST_TKVI.html">EST_TKVI</A><<!1><A HREF="EST_String.html">EST_String</A>, <!1><A HREF="EST_Val.html">EST_Val</A>> ><BR> class EST_TRwIterator< <!1><A HREF="EST_Features.html">EST_Features</A>, IPointer, <!1><A HREF="EST_TKVI.html">EST_TKVI</A><<!1><A HREF="EST_String.html">EST_String</A>, <!1><A HREF="EST_Val.html">EST_Val</A>> ><BR> class EST_TRwStructIterator< <!1><A HREF="EST_Features.html">EST_Features</A>, IPointer, <!1><A HREF="EST_TKVI.html">EST_TKVI</A><<!1><A HREF="EST_String.html">EST_String</A>, <!1><A HREF="EST_Val.html">EST_Val</A>> ><BR><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR> <A HREF = "http://www.ed.ac.uk/"> <IMG align=right BORDER=0 SRC = "edcrest.gif"></A> <P Align=left><I>This page is part of the <A HREF="http://www.cstr.ed.ac.uk/projects/speech_tools.html"> Edinburgh Speech Tools Library</A> documentation <br> Copyright <A HREF="http://www.ed.ac.uk"> University of Edinburgh</A> 1997 <br> Contact: <A HREF="mailto:speech_toolss@cstr.ed.ac.uk"> speech_tools@cstr.ed.ac.uk </a> </P> <br clear=right>