<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>sc::KeyVal class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:17:04 2002 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>sc::KeyVal Class Reference</h1>The <a class="el" href="class_sc__KeyVal.html">KeyVal</a> class is designed to simplify the process of allowing a user to specify keyword/value associations to a C++ program. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="keyval_h-source.html">keyval.h</a>></code> <p> Inheritance diagram for sc::KeyVal<p><center><img src="class_sc__KeyVal_inherit_graph.gif" border="0" usemap="#sc::KeyVal_inherit_map" alt="Inheritance graph"></center> <map name="sc::KeyVal_inherit_map"> <area href="class_sc__RefCount.html" shape="rect" coords="254,81,337,99"> <area href="class_sc__Identity.html" shape="rect" coords="259,14,331,33"> <area href="class_sc__ParsedKeyVal.html" shape="rect" coords="439,281,546,299"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::KeyVal:<p><center><img src="class_sc__KeyVal_coll_graph.gif" border="0" usemap="#sc::KeyVal_coll_map" alt="Collaboration graph"></center> <map name="sc::KeyVal_coll_map"> <area href="class_sc__RefCount.html" shape="rect" coords="14,80,97,99"> <area href="class_sc__Identity.html" shape="rect" coords="19,13,91,32"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__KeyVal-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Public Types</h2></td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom>{ <b>MaxKeywordLength</b> = 256 }</td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom><b>KeyValError</b> { <br> <b>OK</b>, <b>HasNoValue</b>, <b>WrongType</b>, <b>UnknownKeyword</b>, <br> <b>OperationFailed</b> <br> }</td></tr> <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top><a name="a0" doxytag="sc::KeyVal::~KeyVal"></a> virtual </td><td valign=bottom><b>~KeyVal</b> ()</td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a1">exists</a> (const char *)</td></tr> <tr><td> </td><td><font size=-1><em>This takes as its only argument a keyword.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a2">count</a> (const char *=0)</td></tr> <tr><td> </td><td><font size=-1><em>If the value of a keyword is an array, then return its length.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a3" doxytag="sc::KeyVal::value"></a> <a class="el" href="class_sc__Ref.html">Ref</a><KeyValValue> </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a3">value</a> (const char *=0, const KeyValValue &def=KeyValValue())</td></tr> <tr><td> </td><td><font size=-1><em>Return the value associated with the keyword.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a4" doxytag="sc::KeyVal::booleanvalue"></a> int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a4">booleanvalue</a> (const char *key=0, const KeyValValue &def=KeyValValueboolean())</td></tr> <tr><td> </td><td><font size=-1><em>Returns the boolean value (0 = false, 1 = true) of key.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a5" doxytag="sc::KeyVal::doublevalue"></a> double </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a5">doublevalue</a> (const char *key=0, const KeyValValue &def=KeyValValuedouble())</td></tr> <tr><td> </td><td><font size=-1><em>Returns the double value of key.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a6" doxytag="sc::KeyVal::floatvalue"></a> float </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a6">floatvalue</a> (const char *key=0, const KeyValValue &def=KeyValValuefloat())</td></tr> <tr><td> </td><td><font size=-1><em>Returns the float value of key.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a7" doxytag="sc::KeyVal::charvalue"></a> char </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a7">charvalue</a> (const char *key=0, const KeyValValue &def=KeyValValuechar())</td></tr> <tr><td> </td><td><font size=-1><em>Returns the char value of key.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a8" doxytag="sc::KeyVal::intvalue"></a> int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a8">intvalue</a> (const char *key=0, const KeyValValue &def=KeyValValueint())</td></tr> <tr><td> </td><td><font size=-1><em>Returns the int value of key.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a9" doxytag="sc::KeyVal::sizevalue"></a> size_t </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a9">sizevalue</a> (const char *key=0, const KeyValValue &def=KeyValValuesize())</td></tr> <tr><td> </td><td><font size=-1><em>Returns the size_t value of key.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>char* </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a10">pcharvalue</a> (const char *key=0, const KeyValValue &def=KeyValValuepchar())</td></tr> <tr><td> </td><td><font size=-1><em>Returns a copy of the string representation of the key's value.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a11" doxytag="sc::KeyVal::describedclassvalue"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__DescribedClass.html">DescribedClass</a>> </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a11">describedclassvalue</a> (const char *key=0, const KeyValValue &def=KeyValValueRefDescribedClass())</td></tr> <tr><td> </td><td><font size=-1><em>Returns a reference to an object of type <a class="el" href="class_sc__DescribedClass.html">DescribedClass</a>.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a12" doxytag="sc::KeyVal::exists"></a> int </td><td valign=bottom><b>exists</b> (const char *,int)</td></tr> <tr><td nowrap align=right valign=top><a name="a13" doxytag="sc::KeyVal::count"></a> int </td><td valign=bottom><b>count</b> (const char *,int)</td></tr> <tr><td nowrap align=right valign=top><a name="a14" doxytag="sc::KeyVal::booleanvalue"></a> int </td><td valign=bottom><b>booleanvalue</b> (const char *,int, const KeyValValue &def=KeyValValueboolean())</td></tr> <tr><td nowrap align=right valign=top><a name="a15" doxytag="sc::KeyVal::doublevalue"></a> double </td><td valign=bottom><b>doublevalue</b> (const char *key, int, const KeyValValue &def=KeyValValuedouble())</td></tr> <tr><td nowrap align=right valign=top><a name="a16" doxytag="sc::KeyVal::floatvalue"></a> float </td><td valign=bottom><b>floatvalue</b> (const char *key, int, const KeyValValue &def=KeyValValuefloat())</td></tr> <tr><td nowrap align=right valign=top><a name="a17" doxytag="sc::KeyVal::charvalue"></a> char </td><td valign=bottom><b>charvalue</b> (const char *key, int, const KeyValValue &def=KeyValValuechar())</td></tr> <tr><td nowrap align=right valign=top><a name="a18" doxytag="sc::KeyVal::intvalue"></a> int </td><td valign=bottom><b>intvalue</b> (const char *key, int, const KeyValValue &def=KeyValValueint())</td></tr> <tr><td nowrap align=right valign=top><a name="a19" doxytag="sc::KeyVal::sizevalue"></a> size_t </td><td valign=bottom><b>sizevalue</b> (const char *key, int, const KeyValValue &def=KeyValValuesize())</td></tr> <tr><td nowrap align=right valign=top><a name="a20" doxytag="sc::KeyVal::pcharvalue"></a> char* </td><td valign=bottom><b>pcharvalue</b> (const char *key, int, const KeyValValue &def=KeyValValuepchar())</td></tr> <tr><td nowrap align=right valign=top><a name="a21" doxytag="sc::KeyVal::describedclassvalue"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__DescribedClass.html">DescribedClass</a>> </td><td valign=bottom><b>describedclassvalue</b> (const char *key, int, const KeyValValue &def=KeyValValueRefDescribedClass())</td></tr> <tr><td nowrap align=right valign=top><a name="a22" doxytag="sc::KeyVal::exists"></a> int </td><td valign=bottom><b>exists</b> (int i)</td></tr> <tr><td nowrap align=right valign=top><a name="a23" doxytag="sc::KeyVal::count"></a> int </td><td valign=bottom><b>count</b> (int i)</td></tr> <tr><td nowrap align=right valign=top><a name="a24" doxytag="sc::KeyVal::booleanvalue"></a> int </td><td valign=bottom><b>booleanvalue</b> (int i, const KeyValValue &def=KeyValValueboolean())</td></tr> <tr><td nowrap align=right valign=top><a name="a25" doxytag="sc::KeyVal::doublevalue"></a> double </td><td valign=bottom><b>doublevalue</b> (int i, const KeyValValue &def=KeyValValuedouble())</td></tr> <tr><td nowrap align=right valign=top><a name="a26" doxytag="sc::KeyVal::floatvalue"></a> float </td><td valign=bottom><b>floatvalue</b> (int i, const KeyValValue &def=KeyValValuefloat())</td></tr> <tr><td nowrap align=right valign=top><a name="a27" doxytag="sc::KeyVal::charvalue"></a> char </td><td valign=bottom><b>charvalue</b> (int i, const KeyValValue &def=KeyValValuechar())</td></tr> <tr><td nowrap align=right valign=top><a name="a28" doxytag="sc::KeyVal::intvalue"></a> int </td><td valign=bottom><b>intvalue</b> (int i, const KeyValValue &def=KeyValValueint())</td></tr> <tr><td nowrap align=right valign=top><a name="a29" doxytag="sc::KeyVal::sizevalue"></a> size_t </td><td valign=bottom><b>sizevalue</b> (int i, const KeyValValue &def=KeyValValuesize())</td></tr> <tr><td nowrap align=right valign=top><a name="a30" doxytag="sc::KeyVal::pcharvalue"></a> char* </td><td valign=bottom><b>pcharvalue</b> (int i, const KeyValValue &def=KeyValValuepchar())</td></tr> <tr><td nowrap align=right valign=top><a name="a31" doxytag="sc::KeyVal::describedclassvalue"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__DescribedClass.html">DescribedClass</a>> </td><td valign=bottom><b>describedclassvalue</b> (int i, const KeyValValue &def=KeyValValueRefDescribedClass())</td></tr> <tr><td nowrap align=right valign=top><a name="a32" doxytag="sc::KeyVal::exists"></a> int </td><td valign=bottom><b>exists</b> (const char *,int, int)</td></tr> <tr><td nowrap align=right valign=top><a name="a33" doxytag="sc::KeyVal::count"></a> int </td><td valign=bottom><b>count</b> (const char *,int, int)</td></tr> <tr><td nowrap align=right valign=top><a name="a34" doxytag="sc::KeyVal::booleanvalue"></a> int </td><td valign=bottom><b>booleanvalue</b> (const char *,int, int, const KeyValValue &def=KeyValValueboolean())</td></tr> <tr><td nowrap align=right valign=top><a name="a35" doxytag="sc::KeyVal::doublevalue"></a> double </td><td valign=bottom><b>doublevalue</b> (const char *key, int, int, const KeyValValue &def=KeyValValuedouble())</td></tr> <tr><td nowrap align=right valign=top><a name="a36" doxytag="sc::KeyVal::floatvalue"></a> float </td><td valign=bottom><b>floatvalue</b> (const char *key, int, int, const KeyValValue &def=KeyValValuefloat())</td></tr> <tr><td nowrap align=right valign=top><a name="a37" doxytag="sc::KeyVal::charvalue"></a> char </td><td valign=bottom><b>charvalue</b> (const char *key, int, int, const KeyValValue &def=KeyValValuechar())</td></tr> <tr><td nowrap align=right valign=top><a name="a38" doxytag="sc::KeyVal::intvalue"></a> int </td><td valign=bottom><b>intvalue</b> (const char *key, int, int, const KeyValValue &def=KeyValValueint())</td></tr> <tr><td nowrap align=right valign=top><a name="a39" doxytag="sc::KeyVal::sizevalue"></a> size_t </td><td valign=bottom><b>sizevalue</b> (const char *key, int, int, const KeyValValue &def=KeyValValuesize())</td></tr> <tr><td nowrap align=right valign=top><a name="a40" doxytag="sc::KeyVal::pcharvalue"></a> char* </td><td valign=bottom><b>pcharvalue</b> (const char *key, int, int, const KeyValValue &def=KeyValValuepchar())</td></tr> <tr><td nowrap align=right valign=top><a name="a41" doxytag="sc::KeyVal::describedclassvalue"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__DescribedClass.html">DescribedClass</a>> </td><td valign=bottom><b>describedclassvalue</b> (const char *key, int, int, const KeyValValue &def=KeyValValueRefDescribedClass())</td></tr> <tr><td nowrap align=right valign=top><a name="a42" doxytag="sc::KeyVal::exists"></a> int </td><td valign=bottom><b>exists</b> (int i, int j)</td></tr> <tr><td nowrap align=right valign=top><a name="a43" doxytag="sc::KeyVal::count"></a> int </td><td valign=bottom><b>count</b> (int i, int j)</td></tr> <tr><td nowrap align=right valign=top><a name="a44" doxytag="sc::KeyVal::booleanvalue"></a> int </td><td valign=bottom><b>booleanvalue</b> (int i, int j, const KeyValValue &def=KeyValValueboolean())</td></tr> <tr><td nowrap align=right valign=top><a name="a45" doxytag="sc::KeyVal::doublevalue"></a> double </td><td valign=bottom><b>doublevalue</b> (int i, int j, const KeyValValue &def=KeyValValuedouble())</td></tr> <tr><td nowrap align=right valign=top><a name="a46" doxytag="sc::KeyVal::floatvalue"></a> float </td><td valign=bottom><b>floatvalue</b> (int i, int j, const KeyValValue &def=KeyValValuefloat())</td></tr> <tr><td nowrap align=right valign=top><a name="a47" doxytag="sc::KeyVal::charvalue"></a> char </td><td valign=bottom><b>charvalue</b> (int i, int j, const KeyValValue &def=KeyValValuechar())</td></tr> <tr><td nowrap align=right valign=top><a name="a48" doxytag="sc::KeyVal::intvalue"></a> int </td><td valign=bottom><b>intvalue</b> (int i, int j, const KeyValValue &def=KeyValValueint())</td></tr> <tr><td nowrap align=right valign=top><a name="a49" doxytag="sc::KeyVal::sizevalue"></a> size_t </td><td valign=bottom><b>sizevalue</b> (int i, int j, const KeyValValue &def=KeyValValuesize())</td></tr> <tr><td nowrap align=right valign=top><a name="a50" doxytag="sc::KeyVal::pcharvalue"></a> char* </td><td valign=bottom><b>pcharvalue</b> (int i, int j, const KeyValValue &def=KeyValValuepchar())</td></tr> <tr><td nowrap align=right valign=top><a name="a51" doxytag="sc::KeyVal::describedclassvalue"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__DescribedClass.html">DescribedClass</a>> </td><td valign=bottom><b>describedclassvalue</b> (int i, int j, const KeyValValue &def=KeyValValueRefDescribedClass())</td></tr> <tr><td nowrap align=right valign=top><a name="a52" doxytag="sc::KeyVal::Va_exists"></a> int </td><td valign=bottom><b>Va_exists</b> (const char *,int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a53" doxytag="sc::KeyVal::Va_count"></a> int </td><td valign=bottom><b>Va_count</b> (const char *,int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a54" doxytag="sc::KeyVal::Va_booleanvalue"></a> int </td><td valign=bottom><b>Va_booleanvalue</b> (const char *,int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a55" doxytag="sc::KeyVal::Va_doublevalue"></a> double </td><td valign=bottom><b>Va_doublevalue</b> (const char *key, int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a56" doxytag="sc::KeyVal::Va_floatvalue"></a> float </td><td valign=bottom><b>Va_floatvalue</b> (const char *key, int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a57" doxytag="sc::KeyVal::Va_charvalue"></a> char </td><td valign=bottom><b>Va_charvalue</b> (const char *key, int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a58" doxytag="sc::KeyVal::Va_intvalue"></a> int </td><td valign=bottom><b>Va_intvalue</b> (const char *key, int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a59" doxytag="sc::KeyVal::Va_sizevalue"></a> size_t </td><td valign=bottom><b>Va_sizevalue</b> (const char *key, int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a60" doxytag="sc::KeyVal::Va_pcharvalue"></a> char* </td><td valign=bottom><b>Va_pcharvalue</b> (const char *key, int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a61" doxytag="sc::KeyVal::Va_describedclassvalue"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__DescribedClass.html">DescribedClass</a>> </td><td valign=bottom><b>Va_describedclassvalue</b> (const char *key, int,...)</td></tr> <tr><td nowrap align=right valign=top><a name="a62" doxytag="sc::KeyVal::error"></a> KeyValError </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a62">error</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Return the current error condition.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a63" doxytag="sc::KeyVal::errormsg"></a> const char* </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a63">errormsg</a> (KeyValError err)</td></tr> <tr><td> </td><td><font size=-1><em>Return a textual representation of err.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a64" doxytag="sc::KeyVal::errormsg"></a> const char* </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a64">errormsg</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Return a textual representation of the current error.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a65" doxytag="sc::KeyVal::errortrace"></a> virtual void </td><td valign=bottom><b>errortrace</b> (std::ostream &fp=ExEnv::err0())</td></tr> <tr><td nowrap align=right valign=top><a name="a66" doxytag="sc::KeyVal::dump"></a> virtual void </td><td valign=bottom><b>dump</b> (std::ostream &fp=ExEnv::err0())</td></tr> <tr><td nowrap align=right valign=top><a name="a67" doxytag="sc::KeyVal::print_unseen"></a> virtual void </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a67">print_unseen</a> (std::ostream &fp=ExEnv::out0())</td></tr> <tr><td> </td><td><font size=-1><em>Print keywords that were never looked at, if possible.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a68" doxytag="sc::KeyVal::have_unseen"></a> virtual int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a68">have_unseen</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Return 1 if there were unseen keywords, 0 if there are none, or -1 this keyval doesn't keep track of unseen keywords.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a69" doxytag="sc::KeyVal::verbose"></a> void </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a69">verbose</a> (int v)</td></tr> <tr><td> </td><td><font size=-1><em>Control printing of assignments.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a70" doxytag="sc::KeyVal::verbose"></a> int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#a70">verbose</a> () const</td></tr> <tr><td> </td><td><font size=-1><em>Returns nonzero if assignments are printed.</em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Protected Methods</h2></td></tr> <tr><td nowrap align=right valign=top><a name="b0" doxytag="sc::KeyVal::KeyVal"></a> </td><td valign=bottom><b>KeyVal</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b1" doxytag="sc::KeyVal::seterror"></a> void </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b1">seterror</a> (KeyValError err)</td></tr> <tr><td> </td><td><font size=-1><em>Set the current error condition.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b2" doxytag="sc::KeyVal::seterror"></a> void </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b2">seterror</a> (KeyValValue::KeyValValueError err)</td></tr> <tr><td> </td><td><font size=-1><em>Set the current error condition.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b3" doxytag="sc::KeyVal::key_exists"></a> virtual int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b3">key_exists</a> (const char *)=0</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by exists.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b4" doxytag="sc::KeyVal::key_count"></a> virtual int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b4">key_count</a> (const char *=0)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by count.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b5" doxytag="sc::KeyVal::key_value"></a> virtual <a class="el" href="class_sc__Ref.html">Ref</a><KeyValValue> </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b5">key_value</a> (const char *, const KeyValValue &def)=0</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by value.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b6" doxytag="sc::KeyVal::key_booleanvalue"></a> virtual int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b6">key_booleanvalue</a> (const char *,const KeyValValue &def)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by booleanvalue.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b7" doxytag="sc::KeyVal::key_doublevalue"></a> virtual double </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b7">key_doublevalue</a> (const char *key, const KeyValValue &def)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by doublevalue.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b8" doxytag="sc::KeyVal::key_floatvalue"></a> virtual float </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b8">key_floatvalue</a> (const char *key, const KeyValValue &def)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by floatvalue.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b9" doxytag="sc::KeyVal::key_charvalue"></a> virtual char </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b9">key_charvalue</a> (const char *key, const KeyValValue &def)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by charvalue.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b10" doxytag="sc::KeyVal::key_intvalue"></a> virtual int </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b10">key_intvalue</a> (const char *key, const KeyValValue &def)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by intvalue.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b11" doxytag="sc::KeyVal::key_sizevalue"></a> virtual size_t </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b11">key_sizevalue</a> (const char *key, const KeyValValue &def)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by sizevalue.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b12" doxytag="sc::KeyVal::key_pcharvalue"></a> virtual char* </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b12">key_pcharvalue</a> (const char *key, const KeyValValue &def)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by pcharvalue.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="b13" doxytag="sc::KeyVal::key_describedclassvalue"></a> virtual <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__DescribedClass.html">DescribedClass</a>> </td><td valign=bottom><a class="el" href="class_sc__KeyVal.html#b13">key_describedclassvalue</a> (const char *key, const KeyValValue &def)</td></tr> <tr><td> </td><td><font size=-1><em>Ultimately called by describedclassvalue.</em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> <tr><td nowrap align=right valign=top><a name="n0" doxytag="sc::KeyVal::verbose_"></a> int </td><td valign=bottom><b>verbose_</b></td></tr> <tr><td colspan=2><br><h2>Friends</h2></td></tr> <tr><td nowrap align=right valign=top>class </td><td valign=bottom><b>AggregateKeyVal</b></td></tr> <tr><td nowrap align=right valign=top>class </td><td valign=bottom><b>PrefixKeyVal</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="class_sc__KeyVal.html">KeyVal</a> class is designed to simplify the process of allowing a user to specify keyword/value associations to a C++ program. <p> A flexible input style and ease of use for the programmer is achieved with this method. Keywords are represented by null terminated character arrays. The keywords are organized hierarchially, in a manner similar to the way that many file systems are organized. One character is special, ":", which is used to separate the various hierarchial labels, which are referred to as "segments", in the keyword. <p> A convention for specifying arrays is provided by <a class="el" href="class_sc__KeyVal.html">KeyVal</a>. Each index of the array is given by appending a segment containing the character representation of the index. Thus, "array:3:4" would be a the keyword corresponding to fourth row and fifth column of "array", since indexing starts at zero. <p> To allow the <a class="el" href="class_sc__KeyVal.html">KeyVal</a> class to have associations that can represent data for classes, the keyword can be associated with a class as well as a value. This permits polymorphic data to be unambiguously represented by keyword/value associations. Most use of <a class="el" href="class_sc__KeyVal.html">KeyVal</a> need not be concerned with this. <p> <hr><h2>Member Function Documentation</h2> <a name="a2" doxytag="sc::KeyVal::count"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> int sc::KeyVal::count ( </b></td> <td valign="bottom"><b> const char * = 0 ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> If the value of a keyword is an array, then return its length. <p> If no arguments are given then the top level will be checked to see if it is an array and, if so, the number of elements will be counted. </td> </tr> </table> <a name="a1" doxytag="sc::KeyVal::exists"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> int sc::KeyVal::exists ( </b></td> <td valign="bottom"><b> const char * ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> This takes as its only argument a keyword. <p> Returns 1 if the keyword has a value and 0 otherwise. </td> </tr> </table> <a name="a10" doxytag="sc::KeyVal::pcharvalue"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> char * sc::KeyVal::pcharvalue ( </b></td> <td valign="bottom"><b> const char * <em>key</em> = 0, </b></td> </tr> <tr> <td></td> <td><b> const KeyValValue & <em>def</em> = KeyValValuepchar() ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns a copy of the string representation of the key's value. <p> Storage for the copy is obtained with new. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="keyval_h-source.html">keyval.h</a></ul> <hr> <address> <small> Generated at Mon Oct 14 14:17:05 2002 for <a href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a> 2.1.2 using the documentation package <a href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a> 1.2.5. </small> </address> </body> </html>