Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 360

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>MPQC: sc::KeyVal Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1KeyVal.html">KeyVal</a>
  </div>
</div>
<div class="contents">
<h1>sc::KeyVal Class Reference</h1><!-- doxytag: class="sc::KeyVal" --><!-- doxytag: inherits="sc::RefCount" -->The <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">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 &lt;<a class="el" href="keyval_8h_source.html">keyval.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::KeyVal:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1KeyVal.png" usemap="#sc::KeyVal_map" border="0" alt=""></center>
<map name="sc::KeyVal_map">
<area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="211,56,342,80">
<area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="211,0,342,24">
<area href="classsc_1_1AggregateKeyVal.html" alt="sc::AggregateKeyVal" shape="rect" coords="0,168,131,192">
<area href="classsc_1_1AssignedKeyVal.html" alt="sc::AssignedKeyVal" shape="rect" coords="141,168,272,192">
<area href="classsc_1_1PrefixKeyVal.html" alt="sc::PrefixKeyVal" shape="rect" coords="282,168,413,192">
<area href="classsc_1_1StringKeyVal.html" alt="sc::StringKeyVal" shape="rect" coords="423,168,554,192">
<area href="classsc_1_1ParsedKeyVal.html" alt="sc::ParsedKeyVal" shape="rect" coords="423,224,554,248">
</map>
</div>

<p>
<a href="classsc_1_1KeyVal-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <b>MaxKeywordLength</b> =  256
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>KeyValError</b> { <br>
&nbsp;&nbsp;<b>OK</b>, 
<b>HasNoValue</b>, 
<b>WrongType</b>, 
<b>UnknownKeyword</b>, 
<br>
&nbsp;&nbsp;<b>OperationFailed</b>
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#c602e085a0dca6a6664e828a8d5451e4">exists</a> (const char *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This takes as its only argument a keyword.  <a href="#c602e085a0dca6a6664e828a8d5451e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#8d1863c3792363f8d066433014c864ef">count</a> (const char *=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the value of a keyword is an array, then return its length.  <a href="#8d1863c3792363f8d066433014c864ef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23ac1915d1b584fb6fb0465485b90abc"></a><!-- doxytag: member="sc::KeyVal::value" ref="23ac1915d1b584fb6fb0465485b90abc" args="(const char *=0, const KeyValValue &amp;def=KeyValValue())" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; KeyValValue &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#23ac1915d1b584fb6fb0465485b90abc">value</a> (const char *=0, const KeyValValue &amp;def=KeyValValue())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value associated with the keyword. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4f3cbc3a3cd27d4709aafcd8ae7bc0d"></a><!-- doxytag: member="sc::KeyVal::booleanvalue" ref="e4f3cbc3a3cd27d4709aafcd8ae7bc0d" args="(const char *key=0, const KeyValValue &amp;def=KeyValValueboolean())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#e4f3cbc3a3cd27d4709aafcd8ae7bc0d">booleanvalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValueboolean())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the boolean value (0 = false, 1 = true) of key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f3636a9ab8bf041efe790791a54bb254"></a><!-- doxytag: member="sc::KeyVal::doublevalue" ref="f3636a9ab8bf041efe790791a54bb254" args="(const char *key=0, const KeyValValue &amp;def=KeyValValuedouble())" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#f3636a9ab8bf041efe790791a54bb254">doublevalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValuedouble())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the double value of key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="69cb553778778fbde683117b062ff0a9"></a><!-- doxytag: member="sc::KeyVal::floatvalue" ref="69cb553778778fbde683117b062ff0a9" args="(const char *key=0, const KeyValValue &amp;def=KeyValValuefloat())" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#69cb553778778fbde683117b062ff0a9">floatvalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValuefloat())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the float value of key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04dfcf5e3e5cd03e063d522e04b2e5e7"></a><!-- doxytag: member="sc::KeyVal::charvalue" ref="04dfcf5e3e5cd03e063d522e04b2e5e7" args="(const char *key=0, const KeyValValue &amp;def=KeyValValuechar())" -->
char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#04dfcf5e3e5cd03e063d522e04b2e5e7">charvalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValuechar())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the char value of key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b42dde8fd148dd29c79b290feffeae1"></a><!-- doxytag: member="sc::KeyVal::intvalue" ref="0b42dde8fd148dd29c79b290feffeae1" args="(const char *key=0, const KeyValValue &amp;def=KeyValValueint())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#0b42dde8fd148dd29c79b290feffeae1">intvalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValueint())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the int value of key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fcf6de8585827c64eecd8db20066d36c"></a><!-- doxytag: member="sc::KeyVal::sizevalue" ref="fcf6de8585827c64eecd8db20066d36c" args="(const char *key=0, const KeyValValue &amp;def=KeyValValuesize())" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#fcf6de8585827c64eecd8db20066d36c">sizevalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValuesize())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the size_t value of key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#0325c6d2339297855774f2c1e94a763d">pcharvalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValuepchar())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a copy of the string representation of the key's value.  <a href="#0325c6d2339297855774f2c1e94a763d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#338379539d44edbce4ee7312bf691d03">stringvalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValuestring())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a string representation of the key's value.  <a href="#338379539d44edbce4ee7312bf691d03"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1a53bd0f1706a9a54fd9d898a610ab51"></a><!-- doxytag: member="sc::KeyVal::describedclassvalue" ref="1a53bd0f1706a9a54fd9d898a610ab51" args="(const char *key=0, const KeyValValue &amp;def=KeyValValueRefDescribedClass())" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DescribedClass.html">DescribedClass</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#1a53bd0f1706a9a54fd9d898a610ab51">describedclassvalue</a> (const char *key=0, const KeyValValue &amp;def=KeyValValueRefDescribedClass())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a reference to an object of type <a class="el" href="classsc_1_1DescribedClass.html" title="Classes which need runtime information about themselves and their relationship to...">DescribedClass</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8384938eb338ae0700d64aefac98b57e"></a><!-- doxytag: member="sc::KeyVal::error" ref="8384938eb338ae0700d64aefac98b57e" args="()" -->
KeyValError&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#8384938eb338ae0700d64aefac98b57e">error</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current error condition. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f84020f739e30e3b0f05b007ee715e4"></a><!-- doxytag: member="sc::KeyVal::errormsg" ref="5f84020f739e30e3b0f05b007ee715e4" args="(KeyValError err)" -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#5f84020f739e30e3b0f05b007ee715e4">errormsg</a> (KeyValError err)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a textual representation of err. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff711fc212ca75782174570704a7ef23"></a><!-- doxytag: member="sc::KeyVal::errormsg" ref="ff711fc212ca75782174570704a7ef23" args="()" -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#ff711fc212ca75782174570704a7ef23">errormsg</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a textual representation of the current error. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="93bab8c95c32d62806d506eefb2875a8"></a><!-- doxytag: member="sc::KeyVal::errortrace" ref="93bab8c95c32d62806d506eefb2875a8" args="(std::ostream &amp;fp=ExEnv::err0())" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#93bab8c95c32d62806d506eefb2875a8">errortrace</a> (std::ostream &amp;fp=ExEnv::err0())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a message to fp describing the error. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b9aa300a532cdf2023b408c10dbdb68"></a><!-- doxytag: member="sc::KeyVal::dump" ref="6b9aa300a532cdf2023b408c10dbdb68" args="(std::ostream &amp;fp=ExEnv::err0())" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#6b9aa300a532cdf2023b408c10dbdb68">dump</a> (std::ostream &amp;fp=ExEnv::err0())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a message to fp describing the error. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8eb8fbf83c686fc32d31e0d39b1e9f5b"></a><!-- doxytag: member="sc::KeyVal::print_unseen" ref="8eb8fbf83c686fc32d31e0d39b1e9f5b" args="(std::ostream &amp;fp=ExEnv::out0())" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#8eb8fbf83c686fc32d31e0d39b1e9f5b">print_unseen</a> (std::ostream &amp;fp=ExEnv::out0())</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print keywords that were never looked at, if possible. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#122aa2819d8d4448fb20bc5851da157e">have_unseen</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return 1 if there were unseen keywords, 0 if there are none, or -1 this keyval doesn't keep track of unseen keywords.  <a href="#122aa2819d8d4448fb20bc5851da157e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd9eb50defddf32cd2f2bbb76e9300c7"></a><!-- doxytag: member="sc::KeyVal::verbose" ref="bd9eb50defddf32cd2f2bbb76e9300c7" args="(int v)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#bd9eb50defddf32cd2f2bbb76e9300c7">verbose</a> (int v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Control printing of assignments. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a52db028d7c9997eef2fc8faf8f4fdd"></a><!-- doxytag: member="sc::KeyVal::verbose" ref="5a52db028d7c9997eef2fc8faf8f4fdd" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#5a52db028d7c9997eef2fc8faf8f4fdd">verbose</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns nonzero if assignments are printed. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Reading Vectors.</div></td></tr>
<tr><td colspan="2"><div class="groupText">These members correspond to the above members, but take an additional integer argument, i, which is a vector index.<p>
This is equivalent to getting a value for a keyword named "&lt;i&gt;key&lt;/i&gt;:&lt;i&gt;i&lt;/i&gt;". The routines that do not take key arguments get the value for the keyword named "&lt;i&gt;i&lt;/i&gt;". <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00bc3fa06630d4fd87d1c8e882c88f52"></a><!-- doxytag: member="sc::KeyVal::exists" ref="00bc3fa06630d4fd87d1c8e882c88f52" args="(const char *key, int i)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>exists</b> (const char *key, int i)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c69acfb99128eee20c652894ad578ea"></a><!-- doxytag: member="sc::KeyVal::count" ref="1c69acfb99128eee20c652894ad578ea" args="(const char *key, int i)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>count</b> (const char *key, int i)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29b0748992c4f82ad5ab1786f6fc26ca"></a><!-- doxytag: member="sc::KeyVal::booleanvalue" ref="29b0748992c4f82ad5ab1786f6fc26ca" args="(const char *key, int i, const KeyValValue &amp;def=KeyValValueboolean())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>booleanvalue</b> (const char *key, int i, const KeyValValue &amp;def=KeyValValueboolean())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c7b2316690c73cf810b541decde606b"></a><!-- doxytag: member="sc::KeyVal::doublevalue" ref="5c7b2316690c73cf810b541decde606b" args="(const char *key, int i, const KeyValValue &amp;def=KeyValValuedouble())" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>doublevalue</b> (const char *key, int i, const KeyValValue &amp;def=KeyValValuedouble())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a1d27013fc6d1b9589881c0282d9927"></a><!-- doxytag: member="sc::KeyVal::floatvalue" ref="6a1d27013fc6d1b9589881c0282d9927" args="(const char *key, int i, const KeyValValue &amp;def=KeyValValuefloat())" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><b>floatvalue</b> (const char *key, int i, const KeyValValue &amp;def=KeyValValuefloat())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c56c5527a43de7bb41c94d1ffbae1308"></a><!-- doxytag: member="sc::KeyVal::charvalue" ref="c56c5527a43de7bb41c94d1ffbae1308" args="(const char *key, int i, const KeyValValue &amp;def=KeyValValuechar())" -->
char&nbsp;</td><td class="memItemRight" valign="bottom"><b>charvalue</b> (const char *key, int i, const KeyValValue &amp;def=KeyValValuechar())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="845659c373b92f2081f1c5e3766974be"></a><!-- doxytag: member="sc::KeyVal::intvalue" ref="845659c373b92f2081f1c5e3766974be" args="(const char *key, int i, const KeyValValue &amp;def=KeyValValueint())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>intvalue</b> (const char *key, int i, const KeyValValue &amp;def=KeyValValueint())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96e7e07eff25ef2b77e8f1d256464d05"></a><!-- doxytag: member="sc::KeyVal::sizevalue" ref="96e7e07eff25ef2b77e8f1d256464d05" args="(const char *key, int i, const KeyValValue &amp;def=KeyValValuesize())" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>sizevalue</b> (const char *key, int i, const KeyValValue &amp;def=KeyValValuesize())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a8e2164bc7e4dd487e7f75177feb2fd"></a><!-- doxytag: member="sc::KeyVal::pcharvalue" ref="8a8e2164bc7e4dd487e7f75177feb2fd" args="(const char *key, int i, const KeyValValue &amp;def=KeyValValuepchar())" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pcharvalue</b> (const char *key, int i, const KeyValValue &amp;def=KeyValValuepchar())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="70194243245708cf5ce375c39e7b35d9"></a><!-- doxytag: member="sc::KeyVal::stringvalue" ref="70194243245708cf5ce375c39e7b35d9" args="(const char *key, int i, const KeyValValue &amp;def=KeyValValuestring())" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><b>stringvalue</b> (const char *key, int i, const KeyValValue &amp;def=KeyValValuestring())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="696efdd5cf4fdf2607c258ffc4407fd6"></a><!-- doxytag: member="sc::KeyVal::describedclassvalue" ref="696efdd5cf4fdf2607c258ffc4407fd6" args="(const char *key, int, const KeyValValue &amp;def=KeyValValueRefDescribedClass())" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DescribedClass.html">DescribedClass</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>describedclassvalue</b> (const char *key, int, const KeyValValue &amp;def=KeyValValueRefDescribedClass())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91fba06611cc33153e1a30dda3f7aa25"></a><!-- doxytag: member="sc::KeyVal::exists" ref="91fba06611cc33153e1a30dda3f7aa25" args="(int i)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>exists</b> (int i)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27a7cb33cfdbb77b45930b92598d9bce"></a><!-- doxytag: member="sc::KeyVal::count" ref="27a7cb33cfdbb77b45930b92598d9bce" args="(int i)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>count</b> (int i)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="58b0c023768061a87c592a3e6a897bf2"></a><!-- doxytag: member="sc::KeyVal::booleanvalue" ref="58b0c023768061a87c592a3e6a897bf2" args="(int i, const KeyValValue &amp;def=KeyValValueboolean())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>booleanvalue</b> (int i, const KeyValValue &amp;def=KeyValValueboolean())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f66b5fdcca80c2a3c0a3f6f57a46f65"></a><!-- doxytag: member="sc::KeyVal::doublevalue" ref="8f66b5fdcca80c2a3c0a3f6f57a46f65" args="(int i, const KeyValValue &amp;def=KeyValValuedouble())" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>doublevalue</b> (int i, const KeyValValue &amp;def=KeyValValuedouble())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1a1801b3b982e39c5a46ba8ec200c0df"></a><!-- doxytag: member="sc::KeyVal::floatvalue" ref="1a1801b3b982e39c5a46ba8ec200c0df" args="(int i, const KeyValValue &amp;def=KeyValValuefloat())" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><b>floatvalue</b> (int i, const KeyValValue &amp;def=KeyValValuefloat())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9593fc261f47aa6c52e0fe40b30b44a9"></a><!-- doxytag: member="sc::KeyVal::charvalue" ref="9593fc261f47aa6c52e0fe40b30b44a9" args="(int i, const KeyValValue &amp;def=KeyValValuechar())" -->
char&nbsp;</td><td class="memItemRight" valign="bottom"><b>charvalue</b> (int i, const KeyValValue &amp;def=KeyValValuechar())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="793062b011db6c69ac5a85ed3b973218"></a><!-- doxytag: member="sc::KeyVal::intvalue" ref="793062b011db6c69ac5a85ed3b973218" args="(int i, const KeyValValue &amp;def=KeyValValueint())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>intvalue</b> (int i, const KeyValValue &amp;def=KeyValValueint())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="24fd526484f1a0a06440dc0c7490273a"></a><!-- doxytag: member="sc::KeyVal::sizevalue" ref="24fd526484f1a0a06440dc0c7490273a" args="(int i, const KeyValValue &amp;def=KeyValValuesize())" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>sizevalue</b> (int i, const KeyValValue &amp;def=KeyValValuesize())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f996482cd607db82f6958dab13eb464"></a><!-- doxytag: member="sc::KeyVal::pcharvalue" ref="4f996482cd607db82f6958dab13eb464" args="(int i, const KeyValValue &amp;def=KeyValValuepchar())" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pcharvalue</b> (int i, const KeyValValue &amp;def=KeyValValuepchar())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35c2e64fd3a9ce2aab44c5907c610900"></a><!-- doxytag: member="sc::KeyVal::stringvalue" ref="35c2e64fd3a9ce2aab44c5907c610900" args="(int i, const KeyValValue &amp;def=KeyValValuestring())" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><b>stringvalue</b> (int i, const KeyValValue &amp;def=KeyValValuestring())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5946b62fe5fb70aac0974e2647de7c09"></a><!-- doxytag: member="sc::KeyVal::describedclassvalue" ref="5946b62fe5fb70aac0974e2647de7c09" args="(int i, const KeyValValue &amp;def=KeyValValueRefDescribedClass())" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DescribedClass.html">DescribedClass</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>describedclassvalue</b> (int i, const KeyValValue &amp;def=KeyValValueRefDescribedClass())</td></tr>

<tr><td colspan="2"><div class="groupHeader">Reading 2D Arrays.</div></td></tr>
<tr><td colspan="2"><div class="groupText">These members correspond to the above members, but take additional integer arguments, i and j, which is an array index.<p>
This is equivalent to getting a value for a keyword named "&lt;i&gt;key&lt;/i&gt;:&lt;i&gt;i&lt;/i&gt;:&lt;i&gt;j&lt;/i&gt;". The routines that do not take key arguments get the value for the keyword named "&lt;i&gt;i&lt;/i&gt;:&lt;i&gt;j&lt;/i&gt;". <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1aebcd6fddff4206d05d24e0be40b236"></a><!-- doxytag: member="sc::KeyVal::exists" ref="1aebcd6fddff4206d05d24e0be40b236" args="(const char *, int, int)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>exists</b> (const char *, int, int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87a8d9fc3bd7366e5b168a3dd0dbda18"></a><!-- doxytag: member="sc::KeyVal::count" ref="87a8d9fc3bd7366e5b168a3dd0dbda18" args="(const char *, int, int)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>count</b> (const char *, int, int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6faa500f17019b50af21694f9d1b29bc"></a><!-- doxytag: member="sc::KeyVal::booleanvalue" ref="6faa500f17019b50af21694f9d1b29bc" args="(const char *, int, int, const KeyValValue &amp;def=KeyValValueboolean())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>booleanvalue</b> (const char *, int, int, const KeyValValue &amp;def=KeyValValueboolean())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0cb3f5714f403d57393cb073f826a922"></a><!-- doxytag: member="sc::KeyVal::doublevalue" ref="0cb3f5714f403d57393cb073f826a922" args="(const char *key, int, int, const KeyValValue &amp;def=KeyValValuedouble())" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>doublevalue</b> (const char *key, int, int, const KeyValValue &amp;def=KeyValValuedouble())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3847c57f74ff070f3569503c27eda10d"></a><!-- doxytag: member="sc::KeyVal::floatvalue" ref="3847c57f74ff070f3569503c27eda10d" args="(const char *key, int, int, const KeyValValue &amp;def=KeyValValuefloat())" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><b>floatvalue</b> (const char *key, int, int, const KeyValValue &amp;def=KeyValValuefloat())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf9128e99a79935fa149fe064a592646"></a><!-- doxytag: member="sc::KeyVal::charvalue" ref="bf9128e99a79935fa149fe064a592646" args="(const char *key, int, int, const KeyValValue &amp;def=KeyValValuechar())" -->
char&nbsp;</td><td class="memItemRight" valign="bottom"><b>charvalue</b> (const char *key, int, int, const KeyValValue &amp;def=KeyValValuechar())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00eef07825410be4b593dad697f9ab8b"></a><!-- doxytag: member="sc::KeyVal::intvalue" ref="00eef07825410be4b593dad697f9ab8b" args="(const char *key, int, int, const KeyValValue &amp;def=KeyValValueint())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>intvalue</b> (const char *key, int, int, const KeyValValue &amp;def=KeyValValueint())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5deff0560609f28551fa65f5b9042c66"></a><!-- doxytag: member="sc::KeyVal::sizevalue" ref="5deff0560609f28551fa65f5b9042c66" args="(const char *key, int, int, const KeyValValue &amp;def=KeyValValuesize())" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>sizevalue</b> (const char *key, int, int, const KeyValValue &amp;def=KeyValValuesize())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3f6b65d437caad602b51073c31afbcd1"></a><!-- doxytag: member="sc::KeyVal::pcharvalue" ref="3f6b65d437caad602b51073c31afbcd1" args="(const char *key, int, int, const KeyValValue &amp;def=KeyValValuepchar())" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pcharvalue</b> (const char *key, int, int, const KeyValValue &amp;def=KeyValValuepchar())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="333761a2324bcb940801893c4c24a174"></a><!-- doxytag: member="sc::KeyVal::stringvalue" ref="333761a2324bcb940801893c4c24a174" args="(const char *key, int, int, const KeyValValue &amp;def=KeyValValuestring())" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><b>stringvalue</b> (const char *key, int, int, const KeyValValue &amp;def=KeyValValuestring())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc74c4a8f6ac718a48398646f76775bd"></a><!-- doxytag: member="sc::KeyVal::describedclassvalue" ref="fc74c4a8f6ac718a48398646f76775bd" args="(const char *key, int, int, const KeyValValue &amp;def=KeyValValueRefDescribedClass())" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DescribedClass.html">DescribedClass</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>describedclassvalue</b> (const char *key, int, int, const KeyValValue &amp;def=KeyValValueRefDescribedClass())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a72105847db4b0586456c05c7ee304a"></a><!-- doxytag: member="sc::KeyVal::exists" ref="2a72105847db4b0586456c05c7ee304a" args="(int i, int j)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>exists</b> (int i, int j)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="efa01c8326f796eed51d88e65119a029"></a><!-- doxytag: member="sc::KeyVal::count" ref="efa01c8326f796eed51d88e65119a029" args="(int i, int j)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>count</b> (int i, int j)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fb650d6987f64f73731e1f30fdfd70e1"></a><!-- doxytag: member="sc::KeyVal::booleanvalue" ref="fb650d6987f64f73731e1f30fdfd70e1" args="(int i, int j, const KeyValValue &amp;def=KeyValValueboolean())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>booleanvalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValueboolean())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c87eec6ff360b932bda8d00b1fa98d74"></a><!-- doxytag: member="sc::KeyVal::doublevalue" ref="c87eec6ff360b932bda8d00b1fa98d74" args="(int i, int j, const KeyValValue &amp;def=KeyValValuedouble())" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>doublevalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValuedouble())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2afc7af91b2fe56156dd138b15258871"></a><!-- doxytag: member="sc::KeyVal::floatvalue" ref="2afc7af91b2fe56156dd138b15258871" args="(int i, int j, const KeyValValue &amp;def=KeyValValuefloat())" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><b>floatvalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValuefloat())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff39b618535d8066dec0ea18f2e5a793"></a><!-- doxytag: member="sc::KeyVal::charvalue" ref="ff39b618535d8066dec0ea18f2e5a793" args="(int i, int j, const KeyValValue &amp;def=KeyValValuechar())" -->
char&nbsp;</td><td class="memItemRight" valign="bottom"><b>charvalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValuechar())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16b9b0b3ac476ab1a0a21cc37bb1f5e3"></a><!-- doxytag: member="sc::KeyVal::intvalue" ref="16b9b0b3ac476ab1a0a21cc37bb1f5e3" args="(int i, int j, const KeyValValue &amp;def=KeyValValueint())" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>intvalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValueint())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4bd233553826f5a41a5ebe6e735b8b16"></a><!-- doxytag: member="sc::KeyVal::sizevalue" ref="4bd233553826f5a41a5ebe6e735b8b16" args="(int i, int j, const KeyValValue &amp;def=KeyValValuesize())" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>sizevalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValuesize())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="69267b596fb50cf6f5d4fb82c98503e3"></a><!-- doxytag: member="sc::KeyVal::pcharvalue" ref="69267b596fb50cf6f5d4fb82c98503e3" args="(int i, int j, const KeyValValue &amp;def=KeyValValuepchar())" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pcharvalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValuepchar())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="89045d275ef16592188d0d72faa9d115"></a><!-- doxytag: member="sc::KeyVal::stringvalue" ref="89045d275ef16592188d0d72faa9d115" args="(int i, int j, const KeyValValue &amp;def=KeyValValuestring())" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><b>stringvalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValuestring())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c83d2d872b44fff87544fd5d1232a90"></a><!-- doxytag: member="sc::KeyVal::describedclassvalue" ref="7c83d2d872b44fff87544fd5d1232a90" args="(int i, int j, const KeyValValue &amp;def=KeyValValueRefDescribedClass())" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DescribedClass.html">DescribedClass</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>describedclassvalue</b> (int i, int j, const KeyValValue &amp;def=KeyValValueRefDescribedClass())</td></tr>

<tr><td colspan="2"><div class="groupHeader">Reading 3D Arrays.</div></td></tr>
<tr><td colspan="2"><div class="groupText">These members correspond to the above members, but can be used to read in arrays with more than two dimensions.<p>
The nindex argument is the number of indices in the array. It is followed by an int giving the value of each index. <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ced06393dd66c9115201459eb4e1a553"></a><!-- doxytag: member="sc::KeyVal::Va_exists" ref="ced06393dd66c9115201459eb4e1a553" args="(const char *key, int nindex,...)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_exists</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb4c6cacc9700cb639e2e8667ac25215"></a><!-- doxytag: member="sc::KeyVal::Va_count" ref="cb4c6cacc9700cb639e2e8667ac25215" args="(const char *key, int nindex,...)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_count</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c0177a9ca5ec2fd26fdfee2624b34c6"></a><!-- doxytag: member="sc::KeyVal::Va_booleanvalue" ref="6c0177a9ca5ec2fd26fdfee2624b34c6" args="(const char *key, int nindex,...)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_booleanvalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71d8c8bf0417adf2ed8b56000c44baf5"></a><!-- doxytag: member="sc::KeyVal::Va_doublevalue" ref="71d8c8bf0417adf2ed8b56000c44baf5" args="(const char *key, int nindex,...)" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_doublevalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2af102ad620ef16a4981b9711acfc5ec"></a><!-- doxytag: member="sc::KeyVal::Va_floatvalue" ref="2af102ad620ef16a4981b9711acfc5ec" args="(const char *key, int nindex,...)" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_floatvalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2bbc6f238b7a5a9b9e8aa468ee7ae64"></a><!-- doxytag: member="sc::KeyVal::Va_charvalue" ref="d2bbc6f238b7a5a9b9e8aa468ee7ae64" args="(const char *key, int nindex,...)" -->
char&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_charvalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cda796b2177df2dce47b8e41509efc36"></a><!-- doxytag: member="sc::KeyVal::Va_intvalue" ref="cda796b2177df2dce47b8e41509efc36" args="(const char *key, int nindex,...)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_intvalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="088923b636bbfa244719f36745d7d80b"></a><!-- doxytag: member="sc::KeyVal::Va_sizevalue" ref="088923b636bbfa244719f36745d7d80b" args="(const char *key, int nindex,...)" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_sizevalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b70f0c2876616eca85b8ca954d9e47dc"></a><!-- doxytag: member="sc::KeyVal::Va_pcharvalue" ref="b70f0c2876616eca85b8ca954d9e47dc" args="(const char *key, int nindex,...)" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_pcharvalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="558d91b53aea58d2d0aca1f6e02f383b"></a><!-- doxytag: member="sc::KeyVal::Va_stringvalue" ref="558d91b53aea58d2d0aca1f6e02f383b" args="(const char *key, int nindex,...)" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_stringvalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a93b9bad1e9454c209df21de743bd315"></a><!-- doxytag: member="sc::KeyVal::Va_describedclassvalue" ref="a93b9bad1e9454c209df21de743bd315" args="(const char *key, int nindex,...)" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DescribedClass.html">DescribedClass</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Va_describedclassvalue</b> (const char *key, int nindex,...)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdae222e3c6aad7e7454b1bb00c546d9"></a><!-- doxytag: member="sc::KeyVal::seterror" ref="fdae222e3c6aad7e7454b1bb00c546d9" args="(KeyValError err)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#fdae222e3c6aad7e7454b1bb00c546d9">seterror</a> (KeyValError err)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the current error condition. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="613800afb2baafcd74f09a3631196dc7"></a><!-- doxytag: member="sc::KeyVal::seterror" ref="613800afb2baafcd74f09a3631196dc7" args="(KeyValValue::KeyValValueError err)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#613800afb2baafcd74f09a3631196dc7">seterror</a> (KeyValValue::KeyValValueError err)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the current error condition. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f69e8436bf1172569b7bc8dabbb8c857"></a><!-- doxytag: member="sc::KeyVal::key_exists" ref="f69e8436bf1172569b7bc8dabbb8c857" args="(const char *)=0" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#f69e8436bf1172569b7bc8dabbb8c857">key_exists</a> (const char *)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by exists. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f11007c878be0672e26b35505522a913"></a><!-- doxytag: member="sc::KeyVal::key_count" ref="f11007c878be0672e26b35505522a913" args="(const char *=0)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#f11007c878be0672e26b35505522a913">key_count</a> (const char *=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by count. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca5526cda0765f32141f09c1c6c9b780"></a><!-- doxytag: member="sc::KeyVal::key_value" ref="ca5526cda0765f32141f09c1c6c9b780" args="(const char *, const KeyValValue &amp;def)=0" -->
virtual <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; KeyValValue &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#ca5526cda0765f32141f09c1c6c9b780">key_value</a> (const char *, const KeyValValue &amp;def)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by value. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1991140c16245ed308f4e77e26539173"></a><!-- doxytag: member="sc::KeyVal::key_booleanvalue" ref="1991140c16245ed308f4e77e26539173" args="(const char *, const KeyValValue &amp;def)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#1991140c16245ed308f4e77e26539173">key_booleanvalue</a> (const char *, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by booleanvalue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0b6637323d5b517eb2b0b8d8fd76ecb"></a><!-- doxytag: member="sc::KeyVal::key_doublevalue" ref="e0b6637323d5b517eb2b0b8d8fd76ecb" args="(const char *key, const KeyValValue &amp;def)" -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#e0b6637323d5b517eb2b0b8d8fd76ecb">key_doublevalue</a> (const char *key, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by doublevalue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b496cef54772ff81f51adcf2ea232f5"></a><!-- doxytag: member="sc::KeyVal::key_floatvalue" ref="0b496cef54772ff81f51adcf2ea232f5" args="(const char *key, const KeyValValue &amp;def)" -->
virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#0b496cef54772ff81f51adcf2ea232f5">key_floatvalue</a> (const char *key, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by floatvalue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1b264b4453a7125bf013b9af8c61f328"></a><!-- doxytag: member="sc::KeyVal::key_charvalue" ref="1b264b4453a7125bf013b9af8c61f328" args="(const char *key, const KeyValValue &amp;def)" -->
virtual char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#1b264b4453a7125bf013b9af8c61f328">key_charvalue</a> (const char *key, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by charvalue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d6567a0d36d84b99d60ffcf10363e77"></a><!-- doxytag: member="sc::KeyVal::key_intvalue" ref="5d6567a0d36d84b99d60ffcf10363e77" args="(const char *key, const KeyValValue &amp;def)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#5d6567a0d36d84b99d60ffcf10363e77">key_intvalue</a> (const char *key, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by intvalue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c2585fde3130301985f5b0d5288bb72"></a><!-- doxytag: member="sc::KeyVal::key_sizevalue" ref="4c2585fde3130301985f5b0d5288bb72" args="(const char *key, const KeyValValue &amp;def)" -->
virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#4c2585fde3130301985f5b0d5288bb72">key_sizevalue</a> (const char *key, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by sizevalue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4ad667c33dd895a94cd5259c15bac63"></a><!-- doxytag: member="sc::KeyVal::key_pcharvalue" ref="d4ad667c33dd895a94cd5259c15bac63" args="(const char *key, const KeyValValue &amp;def)" -->
virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#d4ad667c33dd895a94cd5259c15bac63">key_pcharvalue</a> (const char *key, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by pcharvalue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3ac58d85a56b69e848800530f40a2a2"></a><!-- doxytag: member="sc::KeyVal::key_stringvalue" ref="b3ac58d85a56b69e848800530f40a2a2" args="(const char *key, const KeyValValue &amp;def)" -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#b3ac58d85a56b69e848800530f40a2a2">key_stringvalue</a> (const char *key, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by stringvalue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00fcd993beb2ab4dacf1fad27c614436"></a><!-- doxytag: member="sc::KeyVal::key_describedclassvalue" ref="00fcd993beb2ab4dacf1fad27c614436" args="(const char *key, const KeyValValue &amp;def)" -->
virtual <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DescribedClass.html">DescribedClass</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1KeyVal.html#00fcd993beb2ab4dacf1fad27c614436">key_describedclassvalue</a> (const char *key, const KeyValValue &amp;def)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ultimately called by describedclassvalue. <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4628a86eeb39e545e8ef39615eb09c4b"></a><!-- doxytag: member="sc::KeyVal::verbose_" ref="4628a86eeb39e545e8ef39615eb09c4b" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>verbose_</b></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8cf87959261e62a19792b1cf0324a757"></a><!-- doxytag: member="sc::KeyVal::AggregateKeyVal" ref="8cf87959261e62a19792b1cf0324a757" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>AggregateKeyVal</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ffb65575eeb9654cdbdd33a5b605f693"></a><!-- doxytag: member="sc::KeyVal::PrefixKeyVal" ref="ffb65575eeb9654cdbdd33a5b605f693" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>PrefixKeyVal</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">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="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">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="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">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="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> need not be concerned with this. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="8d1863c3792363f8d066433014c864ef"></a><!-- doxytag: member="sc::KeyVal::count" ref="8d1863c3792363f8d066433014c864ef" args="(const char *=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::KeyVal::count           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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. 
</div>
</div><p>
<a class="anchor" name="c602e085a0dca6a6664e828a8d5451e4"></a><!-- doxytag: member="sc::KeyVal::exists" ref="c602e085a0dca6a6664e828a8d5451e4" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::KeyVal::exists           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This takes as its only argument a keyword. 
<p>
Returns 1 if the keyword has a value and 0 otherwise. 
</div>
</div><p>
<a class="anchor" name="122aa2819d8d4448fb20bc5851da157e"></a><!-- doxytag: member="sc::KeyVal::have_unseen" ref="122aa2819d8d4448fb20bc5851da157e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::KeyVal::have_unseen           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return 1 if there were unseen keywords, 0 if there are none, or -1 this keyval doesn't keep track of unseen keywords. 
<p>

<p>Reimplemented in <a class="el" href="classsc_1_1ParsedKeyVal.html#314417b41c1a1ca4d55c4a55c192764a">sc::ParsedKeyVal</a>.</p>

</div>
</div><p>
<a class="anchor" name="0325c6d2339297855774f2c1e94a763d"></a><!-- doxytag: member="sc::KeyVal::pcharvalue" ref="0325c6d2339297855774f2c1e94a763d" args="(const char *key=0, const KeyValValue &amp;def=KeyValValuepchar())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* sc::KeyVal::pcharvalue           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const KeyValValue &amp;&nbsp;</td>
          <td class="paramname"> <em>def</em> = <code>KeyValValuepchar()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a copy of the string representation of the key's value. 
<p>
Storage for the copy is obtained with new. 
</div>
</div><p>
<a class="anchor" name="338379539d44edbce4ee7312bf691d03"></a><!-- doxytag: member="sc::KeyVal::stringvalue" ref="338379539d44edbce4ee7312bf691d03" args="(const char *key=0, const KeyValValue &amp;def=KeyValValuestring())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string sc::KeyVal::stringvalue           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const KeyValValue &amp;&nbsp;</td>
          <td class="paramname"> <em>def</em> = <code>KeyValValuestring()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a string representation of the key's value. 
<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="keyval_8h_source.html">keyval.h</a></ul>
</div>
<hr>
<address>
<small>

Generated at Wed Oct 14 14:12:17 2009 for <a
href="http://www.mpqc.org">MPQC</a>
2.3.1 using the documentation package <a
href="http://www.doxygen.org">Doxygen</a>
1.5.9.

</small>
</address>
</body>
</html>