Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > c9cfbd1355daacaf3b34517a6d7b18cc > files > 447

libdap-doc-3.11.0-2.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libdap++: libdap::AttrTable Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libdap++&#160;<span id="projectnumber">Updated for version 3.8.2</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</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 id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classlibdap_1_1AttrTable.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<h1>libdap::AttrTable Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="libdap::AttrTable" --><!-- doxytag: inherits="libdap::DapObj" -->
<p>Contains the attributes for a dataset.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AttrTable_8h_source.html">AttrTable.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for libdap::AttrTable:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable__inherit__graph.png" border="0" usemap="#libdap_1_1AttrTable_inherit__map" alt="Inheritance graph"/></div>
<map name="libdap_1_1AttrTable_inherit__map" id="libdap_1_1AttrTable_inherit__map">
<area shape="rect" id="node2" href="classlibdap_1_1DapObj.html" title="libdap base object for common functionality of libdap objects" alt="" coords="69,6,232,98"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for libdap::AttrTable:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable__coll__graph.png" border="0" usemap="#libdap_1_1AttrTable_coll__map" alt="Collaboration graph"/></div>
<map name="libdap_1_1AttrTable_coll__map" id="libdap_1_1AttrTable_coll__map">
<area shape="rect" id="node2" href="classlibdap_1_1DapObj.html" title="libdap base object for common functionality of libdap objects" alt="" coords="5,6,168,98"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classlibdap_1_1AttrTable-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibdap_1_1AttrTable_1_1entry.html">entry</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="structlibdap_1_1AttrTable_1_1entry.html">entry</a> * &gt;<br class="typebreak"/>
::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a18087581e0377a852a029d4aa9d64a1e">Attr_citer</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="structlibdap_1_1AttrTable_1_1entry.html">entry</a> * &gt;<br class="typebreak"/>
::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#acd28a0951ff0764a6d740fbc30d3052f">add_container_alias</a> (const string &amp;name, <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *src)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an alias to a container held by this attribute table.  <a href="#acd28a0951ff0764a6d740fbc30d3052f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a77971a429d7c23360fd41a4df177489c">add_value_alias</a> (<a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *at, const string &amp;name, const string &amp;source)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an alias for an attribute.  <a href="#a77971a429d7c23360fd41a4df177489c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a7a526505d174c7a2f33e6b57761f8bc4">append_attr</a> (const string &amp;name, const string &amp;type, const string &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an attribute to the table.  <a href="#a7a526505d174c7a2f33e6b57761f8bc4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a5b55410e211497f89ebcfad559920cbf">append_attr</a> (const string &amp;name, const string &amp;type, vector&lt; string &gt; *values)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an attribute to the table.  <a href="#a5b55410e211497f89ebcfad559920cbf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a03f3a1197f9529d4c0328830c765cfe1">append_container</a> (const string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a container to the attribute table.  <a href="#a03f3a1197f9529d4c0328830c765cfe1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#aa731fefe3e52fb193f7f2b5a39e04a4d">append_container</a> (<a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *at, const string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a container to the attribute table.  <a href="#aa731fefe3e52fb193f7f2b5a39e04a4d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a2b9a67d2cc96dee860e6fb2d713a8252">attr_alias</a> (const string &amp;alias, <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *at, const string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an alias to the set of attributes.  <a href="#a2b9a67d2cc96dee860e6fb2d713a8252"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#aaf0369980f799252f9f133390c8b4d79">attr_alias</a> (const string &amp;alias, const string &amp;name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#aa83039e176ada59b990c68b6f3c2cdb7">dump</a> (ostream &amp;strm) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">dumps information about this object  <a href="#aa83039e176ada59b990c68b6f3c2cdb7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#aad6a9557cc76cfb925e55077e0470859">erase</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the attribute table.  <a href="#aad6a9557cc76cfb925e55077e0470859"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959">find</a> (const string &amp;target, <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> **at, <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> *iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f">find_container</a> (const string &amp;target)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Find an attribute with a given name.  <a href="#ae403d070910c829f74a59fbf4648588f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee">get_name</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of this attribute table.  <a href="#a4c79bee34f6d3fb0947776adaa52aeee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a3cd9ea1f233c5d237c34c5a53c68a115">get_parent</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a895e16236818e6b55790e4490cf6c2da">get_size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of entries in this attribute table.  <a href="#a895e16236818e6b55790e4490cf6c2da"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a2906fea416b22dcdf96df9eb5e21258a">is_global_attribute</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#acc2d83b4f1c8e704a6f83ff966a999c8">print</a> (FILE *out, string pad=&quot;    &quot;, bool dereference=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the attribute table.  <a href="#acc2d83b4f1c8e704a6f83ff966a999c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a785014928633842a93352cc05038ea38">print</a> (ostream &amp;out, string pad=&quot;    &quot;, bool dereference=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the attribute table.  <a href="#a785014928633842a93352cc05038ea38"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a5e27ea09f83831eded1b3d86de7f4534">print_xml</a> (FILE *out, string pad=&quot;    &quot;, bool constrained=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a21ee9e5f68e06fb698ef93553dcdc592">print_xml</a> (ostream &amp;out, string pad=&quot;    &quot;, bool constrained=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924">recurrsive_find</a> (const string &amp;target, <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> *location)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#aadba23c830a02aa19c24c2a6f442dfd2">set_is_global_attribute</a> (bool ga)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a3d09ff6bf5a12789308b20440dcaf302">set_name</a> (const string &amp;n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the name of this attribute table.  <a href="#a3d09ff6bf5a12789308b20440dcaf302"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351">simple_find</a> (const string &amp;target)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238">simple_find_container</a> (const string &amp;target)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors using an attribute name</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Each of the following accessors get information using the name of an attribute. They perform a simple search for the name in this attribute table only; sub-tables are not searched and the dot notation is not recognized. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522">get_attr_table</a> (const string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an attribute container.  <a href="#a4010172de5c41cd88f2422d5e1975522"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27">get_type</a> (const string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type name of an attribute within this attribute table.  <a href="#a689563c3beb8e6f571387c5105821f27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#aefcd82370930ba94a288f135d9417a93">get_attr_type</a> (const string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of an attribute.  <a href="#aefcd82370930ba94a288f135d9417a93"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a1c86cb6c91dfdc37b9787828dd09483c">get_attr_num</a> (const string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of attributes in this container.  <a href="#a1c86cb6c91dfdc37b9787828dd09483c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual vector&lt; string &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a7352d886789e9e38d530fc44c6cbef30">get_attr_vector</a> (const string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a vector-valued attribute.  <a href="#a7352d886789e9e38d530fc44c6cbef30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a9c8feb09ec38a783817bcd2fbd3421c8">del_attr</a> (const string &amp;name, int i=-1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes an attribute.  <a href="#a9c8feb09ec38a783817bcd2fbd3421c8"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">get information using an iterator</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a615b618bb2333da0d7114eec2101defe">get_attr</a> (const string &amp;name, unsigned int i=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f">attr_begin</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba">attr_end</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a8b9dd1020a256e884747e8ecf57c10a3">get_attr_iter</a> (int i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#ad7ce1789497599e99014696aa5afe736">get_name</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d">is_container</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#afd8cf7a6bf36504f48eda8a6ff11a56c">get_attr_table</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#abcdd3b10325085a3dd345343df159e48">del_attr_table</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#abfdfb5b51ff84a41596ebf0f28ca77df">get_type</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a0893b78039439185dd39c69beaf0324e">get_attr_type</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#acd12f3bd820be114b3cc3dd97aad7d89">get_attr_num</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a060eb65435ff7deb0905c640f17b35dc">get_attr</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter, unsigned int i=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; string &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a19f9153c5bad64f5bc783d493ffa0733">get_attr_vector</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a6923d18999608d59c02883b12cb18788">is_global_attribute</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#abf6da8bcff87a1976c9227f801b36d47">set_is_global_attribute</a> (<a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> iter, bool ga)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a4fa4213ffc8bd5ab96ff6ba148fd9eb1">clone</a> (const <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> &amp;at)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#ae167683da221e8d64aaf2fab58dbf22f">simple_print</a> (ostream &amp;out, string pad, <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> i, bool dereference)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a1abee354d7f609ed55b849b0431bc48f">simple_print</a> (FILE *out, string pad, <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> i, bool dereference)</td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#aaf41c5b6e5f9c13e92735511139b18b3">AttrTableTest</a></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Instance management functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a09533d67357ad866f5e499f9eff2253e">AttrTable</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a709c15ac098ebf761aafff16945eea4a">AttrTable</a> (const <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> &amp;rhs)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#ac1a2ad7a01b70b53a0995f63649e23b7">~AttrTable</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AttrTable.html#a5110c171d6fa7911f4022145f2ad9027">operator=</a> (const <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> &amp;rhs)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>An <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> (``Attribute Table'') stores a set of names and, for each name, either a type and a value, or another attribute table. The attribute value can be a vector containing many values of the same type. The attributes can have any of the types listed in the <code>AttrType</code> list. However, all attribute types are stored as string data, except for the container type, which is stored as a pointer to another attribute table.</p>
<p>Each element in the attribute table can itself be an attribute table. The table can also contain ``alias'' attributes whose value is given by the value of another attribute to which it is linked.</p>
<p>The attribute tables have a standard printed representation. There is a member function <code><a class="el" href="classlibdap_1_1AttrTable.html#acc2d83b4f1c8e704a6f83ff966a999c8" title="Prints the attribute table.">print()</a></code> for writing this form. Use the <code><a class="el" href="classlibdap_1_1DAS.html#aa84ac295a96a12f9f083a8210732f5a8" title="Reads a DAS from the named file.">DAS::parse()</a></code> function to read the printed form.</p>
<p>An attribute table might look something like this:</p>
<div class="fragment"><pre class="fragment">
    string long_name "Weekly Means of Sea Surface Temperature";
    actual_range {
        Float64 min -1.8;
        Float64 max 35.09;
    }
    string units "degC";
    conversion_data {
        Float64 add_offset 0.;
        Float64 scale_factor 0.0099999998;
    }
    Int32 missing_value 32767;
    </pre></div><p>Here, <code>long_name</code>, <code>units</code>, and <code>missing_value</code> are simple attributes, and <code>actual_range</code> and <code>conversion_data</code> are container attributes containing other attribute tables.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Look at refactoring this by splitting it into three classes. Move the struct entry into its own calls (maybe called Attribute?), make <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> a child of that class and then make aliases a separate class, also a child of Attribute. Look at the design of the Java code.</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>A problem with this class is that Attr_iter objects cannot be dereferenced to return attributes. Instead they must be passed to methods which require that you have access to the <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> object into which they point.03/09/04 jhrg</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> </dd>
<dd>
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a> </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8h_source.html#l00146">146</a> of file <a class="el" href="AttrTable_8h_source.html">AttrTable.h</a>.</p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a18087581e0377a852a029d4aa9d64a1e"></a><!-- doxytag: member="libdap::AttrTable::Attr_citer" ref="a18087581e0377a852a029d4aa9d64a1e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="structlibdap_1_1AttrTable_1_1entry.html">entry</a> *&gt;::const_iterator <a class="el" href="classlibdap_1_1AttrTable.html#a18087581e0377a852a029d4aa9d64a1e">libdap::AttrTable::Attr_citer</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8h_source.html#l00232">232</a> of file <a class="el" href="AttrTable_8h_source.html">AttrTable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3647edf8906b672bad7a8c5ffc81d62a"></a><!-- doxytag: member="libdap::AttrTable::Attr_iter" ref="a3647edf8906b672bad7a8c5ffc81d62a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="structlibdap_1_1AttrTable_1_1entry.html">entry</a> *&gt;::iterator <a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">libdap::AttrTable::Attr_iter</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8h_source.html#l00233">233</a> of file <a class="el" href="AttrTable_8h_source.html">AttrTable.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a09533d67357ad866f5e499f9eff2253e"></a><!-- doxytag: member="libdap::AttrTable::AttrTable" ref="a09533d67357ad866f5e499f9eff2253e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::AttrTable::AttrTable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00151">151</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00341">append_container()</a>, and <a class="el" href="AttrTable_8h_source.html#l00195">libdap::AttrTable::entry::clone()</a>.</p>

</div>
</div>
<a class="anchor" id="a709c15ac098ebf761aafff16945eea4a"></a><!-- doxytag: member="libdap::AttrTable::AttrTable" ref="a709c15ac098ebf761aafff16945eea4a" args="(const AttrTable &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::AttrTable::AttrTable </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00160">160</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00122">clone()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a709c15ac098ebf761aafff16945eea4a_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a709c15ac098ebf761aafff16945eea4a_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a709c15ac098ebf761aafff16945eea4a_cgraph" id="classlibdap_1_1AttrTable_a709c15ac098ebf761aafff16945eea4a_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a4fa4213ffc8bd5ab96ff6ba148fd9eb1" title="libdap::AttrTable::clone" alt="" coords="359,5,620,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ac1a2ad7a01b70b53a0995f63649e23b7"></a><!-- doxytag: member="libdap::AttrTable::~AttrTable" ref="ac1a2ad7a01b70b53a0995f63649e23b7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::AttrTable::~AttrTable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00176">176</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="acd28a0951ff0764a6d740fbc30d3052f"></a><!-- doxytag: member="libdap::AttrTable::add_container_alias" ref="acd28a0951ff0764a6d740fbc30d3052f" args="(const string &amp;name, AttrTable *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::add_container_alias </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the alias. May <em>not</em> use dot notation. </td></tr>
    <tr><td class="paramname">src</td><td>The existing attribute container to alias. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a></td><td>if an attribute, container or alias called <code>name</code> already exists in this attribute table. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00852">852</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00161">libdap::AttrTable::entry::aliased_to</a>, <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8cc_source.html#l00649">attr_end()</a>, <a class="el" href="AttrTable_8h_source.html#l00167">libdap::AttrTable::entry::attributes</a>, <a class="el" href="AttrTable_8cc_source.html#l00208">get_name()</a>, <a class="el" href="AttrTable_8h_source.html#l00160">libdap::AttrTable::entry::is_alias</a>, <a class="el" href="AttrTable_8h_source.html#l00157">libdap::AttrTable::entry::name</a>, <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>, <a class="el" href="AttrTable_8h_source.html#l00158">libdap::AttrTable::entry::type</a>, and <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_acd28a0951ff0764a6d740fbc30d3052f_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_acd28a0951ff0764a6d740fbc30d3052f_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_acd28a0951ff0764a6d740fbc30d3052f_cgraph" id="classlibdap_1_1AttrTable_acd28a0951ff0764a6d740fbc30d3052f_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="472,5,763,32"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="472,56,763,83"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="456,107,779,133"/><area shape="rect" id="node9" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="536,157,699,184"/><area shape="rect" id="node11" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="828,157,1039,184"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a77971a429d7c23360fd41a4df177489c"></a><!-- doxytag: member="libdap::AttrTable::add_value_alias" ref="a77971a429d7c23360fd41a4df177489c" args="(AttrTable *at, const string &amp;name, const string &amp;source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::add_value_alias </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td>
          <td class="paramname"><em>das</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>source</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Assume <em>source</em> names an attribute value in some container. Add an alias <em>name</em> for that value in this object.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">das</td><td></td></tr>
    <tr><td class="paramname">name</td><td>The name of the alias. May <em>not</em> use dot notation. </td></tr>
    <tr><td class="paramname">source</td><td>The name of the attribute to alias. May use dot notation. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a></td><td>if the attribute table already contains an attribute, container or alias called <code>name</code> or if an attribute called <code>source</code> does not exist. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00884">884</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00161">libdap::AttrTable::entry::aliased_to</a>, <a class="el" href="AttrTable_8h_source.html#l00168">libdap::AttrTable::entry::attr</a>, <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8cc_source.html#l00649">attr_end()</a>, <a class="el" href="AttrTable_8h_source.html#l00167">libdap::AttrTable::entry::attributes</a>, <a class="el" href="AttrTable_8cc_source.html#l00408">find()</a>, <a class="el" href="AttrTable_8cc_source.html#l00536">get_attr_table()</a>, <a class="el" href="AttrTable_8cc_source.html#l00552">get_attr_type()</a>, <a class="el" href="AttrTable_8h_source.html#l00160">libdap::AttrTable::entry::is_alias</a>, <a class="el" href="AttrTable_8cc_source.html#l00679">is_container()</a>, <a class="el" href="AttrTable_8h_source.html#l00157">libdap::AttrTable::entry::name</a>, <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>, <a class="el" href="AttrTable_8h_source.html#l00158">libdap::AttrTable::entry::type</a>, and <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00950">attr_alias()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a77971a429d7c23360fd41a4df177489c_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a77971a429d7c23360fd41a4df177489c_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a77971a429d7c23360fd41a4df177489c_cgraph" id="classlibdap_1_1AttrTable_a77971a429d7c23360fd41a4df177489c_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="1293,155,1584,181"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="467,97,717,124"/><area shape="rect" id="node15" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="1700,148,2031,175"/><area shape="rect" id="node23" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522" title="Get an attribute container." alt="" coords="416,35,768,61"/><area shape="rect" id="node26" href="classlibdap_1_1AttrTable.html#aefcd82370930ba94a288f135d9417a93" title="Get the type of an attribute." alt="" coords="421,307,763,333"/><area shape="rect" id="node28" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="836,281,1159,308"/><area shape="rect" id="node32" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="511,357,673,384"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="821,29,1173,56"/><area shape="rect" id="node17" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="816,104,1179,131"/><area shape="rect" id="node11" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="1228,41,1649,68"/><area shape="rect" id="node13" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="1720,41,2011,68"/><area shape="rect" id="node19" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="1283,104,1595,131"/><area shape="rect" id="node34" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="892,357,1103,384"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a7a526505d174c7a2f33e6b57761f8bc4"></a><!-- doxytag: member="libdap::AttrTable::append_attr" ref="a7a526505d174c7a2f33e6b57761f8bc4" args="(const string &amp;name, const string &amp;type, const string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int libdap::AttrTable::append_attr </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>attribute</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>If the given name already refers to an attribute, and the attribute has a value, the given value is appended to the attribute vector. Calling this function repeatedly is the way to append to an attribute vector.</p>
<p>The function throws an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> if the attribute is a container, or if the type of the input value does not match the existing attribute's type. Use <code><a class="el" href="classlibdap_1_1AttrTable.html#a03f3a1197f9529d4c0328830c765cfe1" title="Add a container to the attribute table.">append_container()</a></code> to add container attributes.</p>
<p>This method performs a simple search for <code>name</code> in this attribute table only; sub-tables are not searched and the dot notation is not recognized.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the length of the added attribute value. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the attribute to add or modify. </td></tr>
    <tr><td class="paramname">type</td><td>The type of the attribute to add or modify. </td></tr>
    <tr><td class="paramname">attribute</td><td>The value to add to the attribute table. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00239">239</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00168">libdap::AttrTable::entry::attr</a>, <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="AttrTable_8cc_source.html#l00543">get_type()</a>, <a class="el" href="AttrTable_8h_source.html#l00160">libdap::AttrTable::entry::is_alias</a>, <a class="el" href="AttrTable_8h_source.html#l00157">libdap::AttrTable::entry::name</a>, <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>, <a class="el" href="AttrTable_8cc_source.html#l00089">libdap::String_to_AttrType()</a>, <a class="el" href="AttrTable_8h_source.html#l00158">libdap::AttrTable::entry::type</a>, and <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l00798">libdap::DDXParser::ddx_sax2_end_element()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, and <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a7a526505d174c7a2f33e6b57761f8bc4_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a7a526505d174c7a2f33e6b57761f8bc4_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a7a526505d174c7a2f33e6b57761f8bc4_cgraph" id="classlibdap_1_1AttrTable_a7a526505d174c7a2f33e6b57761f8bc4_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="377,5,668,32"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="717,31,1040,57"/><area shape="rect" id="node8" href="namespacelibdap.html#a6d4117c49771ce2665142ff0dd9c976b" title="libdap::String_to_AttrType" alt="" coords="381,107,664,133"/><area shape="rect" id="node12" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="441,157,604,184"/><area shape="rect" id="node10" href="namespacelibdap.html#a7edce266869606fc7bb46124f8d63809" title="libdap::downcase" alt="" coords="788,107,969,133"/><area shape="rect" id="node14" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="773,157,984,184"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5b55410e211497f89ebcfad559920cbf"></a><!-- doxytag: member="libdap::AttrTable::append_attr" ref="a5b55410e211497f89ebcfad559920cbf" args="(const string &amp;name, const string &amp;type, vector&lt; string &gt; *values)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int libdap::AttrTable::append_attr </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vector&lt; string &gt; *&#160;</td>
          <td class="paramname"><em>values</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This version of <a class="el" href="classlibdap_1_1AttrTable.html#a7a526505d174c7a2f33e6b57761f8bc4" title="Add an attribute to the table.">append_attr()</a> takes a vector&lt;string&gt; of values. If the given name already refers to an attribute, and the attribute has values, append the new values to the existing ones.</p>
<p>The function throws an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> if the attribute is a container, or if the type of the input value does not match the existing attribute's type. Use <code><a class="el" href="classlibdap_1_1AttrTable.html#a03f3a1197f9529d4c0328830c765cfe1" title="Add a container to the attribute table.">append_container()</a></code> to add container attributes.</p>
<p>This method performs a simple search for <code>name</code> in this attribute table only; sub-tables are not searched and the dot notation is not recognized.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the length of the added attribute value. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the attribute to add or modify. </td></tr>
    <tr><td class="paramname">type</td><td>The type of the attribute to add or modify. </td></tr>
    <tr><td class="paramname">values</td><td>A vector of values. Note: The vector is COPIED, not stored. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00294">294</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00168">libdap::AttrTable::entry::attr</a>, <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="AttrTable_8cc_source.html#l00543">get_type()</a>, <a class="el" href="AttrTable_8h_source.html#l00160">libdap::AttrTable::entry::is_alias</a>, <a class="el" href="AttrTable_8h_source.html#l00157">libdap::AttrTable::entry::name</a>, <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>, <a class="el" href="AttrTable_8cc_source.html#l00089">libdap::String_to_AttrType()</a>, <a class="el" href="AttrTable_8h_source.html#l00158">libdap::AttrTable::entry::type</a>, and <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a5b55410e211497f89ebcfad559920cbf_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a5b55410e211497f89ebcfad559920cbf_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a5b55410e211497f89ebcfad559920cbf_cgraph" id="classlibdap_1_1AttrTable_a5b55410e211497f89ebcfad559920cbf_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="377,5,668,32"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="717,31,1040,57"/><area shape="rect" id="node8" href="namespacelibdap.html#a6d4117c49771ce2665142ff0dd9c976b" title="libdap::String_to_AttrType" alt="" coords="381,107,664,133"/><area shape="rect" id="node12" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="441,157,604,184"/><area shape="rect" id="node10" href="namespacelibdap.html#a7edce266869606fc7bb46124f8d63809" title="libdap::downcase" alt="" coords="788,107,969,133"/><area shape="rect" id="node14" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="773,157,984,184"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a03f3a1197f9529d4c0328830c765cfe1"></a><!-- doxytag: member="libdap::AttrTable::append_container" ref="a03f3a1197f9529d4c0328830c765cfe1" args="(const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> * libdap::AttrTable::append_container </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create and append an attribute container to this <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a>. If this attribute table already contains an attribute container called <code>name</code> an exception is thrown.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the new <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> object. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00341">341</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00151">AttrTable()</a>.</p>

<p>Referenced by <a class="el" href="DAS_8cc_source.html#l00254">libdap::DAS::add_table()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="DDS_8cc_source.html#l00367">libdap::DDS::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, and <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a03f3a1197f9529d4c0328830c765cfe1_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a03f3a1197f9529d4c0328830c765cfe1_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a03f3a1197f9529d4c0328830c765cfe1_cgraph" id="classlibdap_1_1AttrTable_a03f3a1197f9529d4c0328830c765cfe1_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a09533d67357ad866f5e499f9eff2253e" title="libdap::AttrTable::AttrTable" alt="" coords="428,5,729,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aa731fefe3e52fb193f7f2b5a39e04a4d"></a><!-- doxytag: member="libdap::AttrTable::append_container" ref="aa731fefe3e52fb193f7f2b5a39e04a4d" args="(AttrTable *at, const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> * libdap::AttrTable::append_container </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td>
          <td class="paramname"><em>at</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Append a new attribute container to this attribute table. The new container is <code>at</code> and its name is set to <code>name</code>. If this attribute table already contains an attribute container called <code>name</code> an exception is thrown.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>The value of <em>name</em> will override the name of <em>at</em> set using the <a class="el" href="classlibdap_1_1AttrTable.html#a3d09ff6bf5a12789308b20440dcaf302" title="Set the name of this attribute table.">set_name()</a> method.</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the new <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> object. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00369">369</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8cc_source.html#l00649">attr_end()</a>, <a class="el" href="AttrTable_8h_source.html#l00167">libdap::AttrTable::entry::attributes</a>, <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="AttrTable_8h_source.html#l00160">libdap::AttrTable::entry::is_alias</a>, <a class="el" href="AttrTable_8h_source.html#l00157">libdap::AttrTable::entry::name</a>, <a class="el" href="AttrTable_8cc_source.html#l00216">set_name()</a>, <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>, <a class="el" href="AttrTable_8h_source.html#l00158">libdap::AttrTable::entry::type</a>, and <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_aa731fefe3e52fb193f7f2b5a39e04a4d_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_aa731fefe3e52fb193f7f2b5a39e04a4d_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_aa731fefe3e52fb193f7f2b5a39e04a4d_cgraph" id="classlibdap_1_1AttrTable_aa731fefe3e52fb193f7f2b5a39e04a4d_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="443,5,733,32"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a3d09ff6bf5a12789308b20440dcaf302" title="Set the name of this attribute table." alt="" coords="443,56,733,83"/><area shape="rect" id="node7" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="797,81,960,108"/><area shape="rect" id="node11" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="427,157,749,184"/><area shape="rect" id="node9" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1009,81,1220,108"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a2b9a67d2cc96dee860e6fb2d713a8252"></a><!-- doxytag: member="libdap::AttrTable::attr_alias" ref="a2b9a67d2cc96dee860e6fb2d713a8252" args="(const string &amp;alias, AttrTable *at, const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::AttrTable::attr_alias </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>alias</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> *&#160;</td>
          <td class="paramname"><em>at</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Once an alias is inserted into an attribute table, reading the attributes for <em>alias</em> will return those stored for <em>name</em>.</p>
<p>Two forms for this function exist: one searches for <em>name</em> in the <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> referenced by <em>at</em> while the other uses <code>this</code>. You can use <code>DAS::get_attr_table()</code> to get the attribute table for an arbitrary name.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522" title="Get an attribute container.">get_attr_table</a> </dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>The current alias design is flawed. It is impossible to map this onto the XML implementation where the <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> and <a class="el" href="classlibdap_1_1DDS.html">DDS</a> information are combined in one object. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">alias</td><td>The alias to insert into the attribute table. </td></tr>
    <tr><td class="paramname">name</td><td>The name of the already-existing attribute to which the alias will refer. </td></tr>
    <tr><td class="paramname">at</td><td>An attribute table in which to insert the alias. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00950">950</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00884">add_value_alias()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00964">attr_alias()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a2b9a67d2cc96dee860e6fb2d713a8252_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a2b9a67d2cc96dee860e6fb2d713a8252_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a2b9a67d2cc96dee860e6fb2d713a8252_cgraph" id="classlibdap_1_1AttrTable_a2b9a67d2cc96dee860e6fb2d713a8252_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a77971a429d7c23360fd41a4df177489c" title="Add an alias for an attribute." alt="" coords="365,205,728,232"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="1653,155,1944,181"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="827,97,1077,124"/><area shape="rect" id="node17" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="2060,148,2391,175"/><area shape="rect" id="node25" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522" title="Get an attribute container." alt="" coords="776,35,1128,61"/><area shape="rect" id="node28" href="classlibdap_1_1AttrTable.html#aefcd82370930ba94a288f135d9417a93" title="Get the type of an attribute." alt="" coords="781,307,1123,333"/><area shape="rect" id="node30" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1196,281,1519,308"/><area shape="rect" id="node34" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="871,357,1033,384"/><area shape="rect" id="node9" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="1181,29,1533,56"/><area shape="rect" id="node19" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="1176,104,1539,131"/><area shape="rect" id="node13" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="1588,41,2009,68"/><area shape="rect" id="node15" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="2080,41,2371,68"/><area shape="rect" id="node21" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="1643,104,1955,131"/><area shape="rect" id="node36" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1252,357,1463,384"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aaf0369980f799252f9f133390c8b4d79"></a><!-- doxytag: member="libdap::AttrTable::attr_alias" ref="aaf0369980f799252f9f133390c8b4d79" args="(const string &amp;alias, const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::AttrTable::attr_alias </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>alias</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>The current alias design is flawed. It is impossible to map this onto the XML implementation where the <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> and <a class="el" href="classlibdap_1_1DDS.html">DDS</a> information are combined in one object.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">alias</td><td>The alias to insert into the attribute table. </td></tr>
    <tr><td class="paramname">name</td><td>The name of the already-existing attribute to which the alias will refer. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00964">964</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00950">attr_alias()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_aaf0369980f799252f9f133390c8b4d79_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_aaf0369980f799252f9f133390c8b4d79_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_aaf0369980f799252f9f133390c8b4d79_cgraph" id="classlibdap_1_1AttrTable_aaf0369980f799252f9f133390c8b4d79_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a2b9a67d2cc96dee860e6fb2d713a8252" title="Adds an alias to the set of attributes." alt="" coords="365,205,677,232"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a77971a429d7c23360fd41a4df177489c" title="Add an alias for an attribute." alt="" coords="725,205,1088,232"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="2013,155,2304,181"/><area shape="rect" id="node9" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="1187,97,1437,124"/><area shape="rect" id="node19" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="2420,148,2751,175"/><area shape="rect" id="node27" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522" title="Get an attribute container." alt="" coords="1136,35,1488,61"/><area shape="rect" id="node30" href="classlibdap_1_1AttrTable.html#aefcd82370930ba94a288f135d9417a93" title="Get the type of an attribute." alt="" coords="1141,307,1483,333"/><area shape="rect" id="node32" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1556,281,1879,308"/><area shape="rect" id="node36" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="1231,357,1393,384"/><area shape="rect" id="node11" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="1541,29,1893,56"/><area shape="rect" id="node21" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="1536,104,1899,131"/><area shape="rect" id="node15" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="1948,41,2369,68"/><area shape="rect" id="node17" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="2440,41,2731,68"/><area shape="rect" id="node23" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="2003,104,2315,131"/><area shape="rect" id="node38" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1612,357,1823,384"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8881bb7044577dae3098f4a1d8bf4f2f"></a><!-- doxytag: member="libdap::AttrTable::attr_begin" ref="a8881bb7044577dae3098f4a1d8bf4f2f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">AttrTable::Attr_iter</a> libdap::AttrTable::attr_begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get an iterator to the first entry in this attribute table. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Attr_iter; references the end of the array if empty list. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00640">640</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>, <a class="el" href="AttrTable_8cc_source.html#l00440">recurrsive_find()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="DDS_8cc_source.html#l00367">libdap::DDS::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>, and <a class="el" href="DAS_8cc_source.html#l00185">libdap::DAS::var_begin()</a>.</p>

</div>
</div>
<a class="anchor" id="a543955729bad6b7a9d1d6b336596b1ba"></a><!-- doxytag: member="libdap::AttrTable::attr_end" ref="a543955729bad6b7a9d1d6b336596b1ba" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">AttrTable::Attr_iter</a> libdap::AttrTable::attr_end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get an iterator to the end attribute table. Does not point to the last attribute in the table </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Attr_iter </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00649">649</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00852">add_container_alias()</a>, <a class="el" href="AttrTable_8cc_source.html#l00884">add_value_alias()</a>, <a class="el" href="AttrTable_8cc_source.html#l00369">append_container()</a>, <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>, <a class="el" href="AttrTable_8cc_source.html#l00440">recurrsive_find()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="DDS_8cc_source.html#l00367">libdap::DDS::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>, and <a class="el" href="DAS_8cc_source.html#l00198">libdap::DAS::var_end()</a>.</p>

</div>
</div>
<a class="anchor" id="a4fa4213ffc8bd5ab96ff6ba148fd9eb1"></a><!-- doxytag: member="libdap::AttrTable::clone" ref="a4fa4213ffc8bd5ab96ff6ba148fd9eb1" args="(const AttrTable &amp;at)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::clone </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> &amp;&#160;</td>
          <td class="paramname"><em>at</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Clone the given attribute table in <code>this</code>. Protected. </p>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00122">122</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8h_source.html#l00167">libdap::AttrTable::entry::attributes</a>, and <a class="el" href="AttrTable_8h_source.html#l00158">libdap::AttrTable::entry::type</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00160">AttrTable()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00183">operator=()</a>.</p>

</div>
</div>
<a class="anchor" id="a9c8feb09ec38a783817bcd2fbd3421c8"></a><!-- doxytag: member="libdap::AttrTable::del_attr" ref="a9c8feb09ec38a783817bcd2fbd3421c8" args="(const string &amp;name, int i=&#45;1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::del_attr </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Delete the attribute named <code>name</code>. If <code>i</code> is given, and the attribute has a vector value, delete the <code>i</code>$^th$ element of the vector.</p>
<p>You can use this function to delete container attributes, although the <code>i</code> parameter has no meaning for that operation.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the attribute to delete. This can be an attribute of any type, including containers. However, this method looks only in this attribute table and does not recognize the dot notation. </td></tr>
    <tr><td class="paramname">i</td><td>If the named attribute is a vector, and <code>i</code> is non-negative, the i-th entry in the vector is deleted, and the array is repacked. If <code>i</code> equals -1 (the default), the entire attribute is deleted. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00608">608</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00168">libdap::AttrTable::entry::attr</a>, <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>, and <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a9c8feb09ec38a783817bcd2fbd3421c8_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a9c8feb09ec38a783817bcd2fbd3421c8_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a9c8feb09ec38a783817bcd2fbd3421c8_cgraph" id="classlibdap_1_1AttrTable_a9c8feb09ec38a783817bcd2fbd3421c8_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="347,5,669,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="427,56,589,83"/><area shape="rect" id="node7" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="719,56,929,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="abcdd3b10325085a3dd345343df159e48"></a><!-- doxytag: member="libdap::AttrTable::del_attr_table" ref="abcdd3b10325085a3dd345343df159e48" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">AttrTable::Attr_iter</a> libdap::AttrTable::del_attr_table </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Delete the iterator. Since <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> stores pointers to <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> objects, the caller should be sure to delete the <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> itself. The caller will gain control of the AttrTable* located at get_attr_table(iter) prior to this call.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>calling this method <b>invalidates</b> the iterator <em>iter</em>. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">iter</td><td>points to the entry to be deleted. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The Attr_iter for the element following <em>iter</em> </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00705">705</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, and <a class="el" href="AttrTable_8h_source.html#l00167">libdap::AttrTable::entry::attributes</a>.</p>

</div>
</div>
<a class="anchor" id="aa83039e176ada59b990c68b6f3c2cdb7"></a><!-- doxytag: member="libdap::AttrTable::dump" ref="aa83039e176ada59b990c68b6f3c2cdb7" args="(ostream &amp;strm) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::dump </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Displays the pointer value of this instance and all attributes stored</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">strm</td><td>C++ i/o stream to dump the information to </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>

<p>Implements <a class="el" href="classlibdap_1_1DapObj.html#a20c50270e1a9e4526444f7f2c0c935c6">libdap::DapObj</a>.</p>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l01309">1309</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00161">libdap::AttrTable::entry::aliased_to</a>, <a class="el" href="AttrTable_8h_source.html#l00168">libdap::AttrTable::entry::attr</a>, <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8h_source.html#l00167">libdap::AttrTable::entry::attributes</a>, <a class="el" href="AttrTable_8cc_source.html#l00059">libdap::AttrType_to_String()</a>, <a class="el" href="AttrTable_8cc_source.html#l01309">dump()</a>, <a class="el" href="DapIndent_8cc_source.html#l00043">libdap::DapIndent::Indent()</a>, <a class="el" href="AttrTable_8h_source.html#l00160">libdap::AttrTable::entry::is_alias</a>, <a class="el" href="DapIndent_8cc_source.html#l00078">libdap::DapIndent::LMarg()</a>, <a class="el" href="AttrTable_8h_source.html#l00157">libdap::AttrTable::entry::name</a>, <a class="el" href="AttrTable_8h_source.html#l00158">libdap::AttrTable::entry::type</a>, and <a class="el" href="DapIndent_8cc_source.html#l00049">libdap::DapIndent::UnIndent()</a>.</p>

<p>Referenced by <a class="el" href="DDS_8cc_source.html#l01312">libdap::DDS::dump()</a>, <a class="el" href="DAS_8cc_source.html#l00411">libdap::DAS::dump()</a>, <a class="el" href="BaseType_8cc_source.html#l00186">libdap::BaseType::dump()</a>, and <a class="el" href="AttrTable_8cc_source.html#l01309">dump()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_aa83039e176ada59b990c68b6f3c2cdb7_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_aa83039e176ada59b990c68b6f3c2cdb7_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_aa83039e176ada59b990c68b6f3c2cdb7_cgraph" id="classlibdap_1_1AttrTable_aa83039e176ada59b990c68b6f3c2cdb7_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a84d1b6bca4eb21023f90f7b4ae6f382b" title="libdap::AttrType_to_String" alt="" coords="312,5,595,32"/><area shape="rect" id="node6" href="classlibdap_1_1DapIndent.html#a4ed2cce66dbff9ad4320e89142103c6c" title="libdap::DapIndent::Indent" alt="" coords="317,56,589,83"/><area shape="rect" id="node8" href="classlibdap_1_1DapIndent.html#a45ca36e552f70fbdbca0599da4320aab" title="libdap::DapIndent::LMarg" alt="" coords="323,107,584,133"/><area shape="rect" id="node10" href="classlibdap_1_1DapIndent.html#a65c519d0916b031bcf60ca8d26fc82f8" title="libdap::DapIndent::UnIndent" alt="" coords="308,157,599,184"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aad6a9557cc76cfb925e55077e0470859"></a><!-- doxytag: member="libdap::AttrTable::erase" ref="aad6a9557cc76cfb925e55077e0470859" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::erase </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Erase the entire attribute table. This returns an <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> to the empty state that's the same as the object generated by the null constructor. </p>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00973">973</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>Referenced by <a class="el" href="DAS_8cc_source.html#l00170">libdap::DAS::erase()</a>.</p>

</div>
</div>
<a class="anchor" id="a33653c34e856e2e5fc0578240eb7a959"></a><!-- doxytag: member="libdap::AttrTable::find" ref="a33653c34e856e2e5fc0578240eb7a959" args="(const string &amp;target, AttrTable **at, Attr_iter *iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::find </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> **&#160;</td>
          <td class="paramname"><em>at</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> *&#160;</td>
          <td class="paramname"><em>iter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Look for an attribute or an attribute container. If used to search for an attribute container, this method returns the container's <em>parent</em> using the value-result parameter <code>at</code> and a reference to the container using the iterator value-result parameter <code>iter</code>. If used to search for an attribute, the attribute's container is returned using <code>at</code>; the attribute itself can be accessed using the iterator <code>iter</code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">target</td><td>The name (using dot notation) of the attribute or container to find. </td></tr>
    <tr><td class="paramname">at</td><td>A value-result used to return the attribute container in which <code>target</code> was found. Null if <code>target</code> was not found. </td></tr>
    <tr><td class="paramname">iter</td><td>The iterator which will reference the attribute found. Can be used to access <code>target</code> from within <code>at</code>. References dim_end() within <code>at</code> if the attribute or container does not exist. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00408">408</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00495">find_container()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00440">recurrsive_find()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00884">add_value_alias()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00495">find_container()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a33653c34e856e2e5fc0578240eb7a959_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a33653c34e856e2e5fc0578240eb7a959_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a33653c34e856e2e5fc0578240eb7a959_cgraph" id="classlibdap_1_1AttrTable_a33653c34e856e2e5fc0578240eb7a959_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="312,31,664,57"/><area shape="rect" id="node13" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="307,105,669,132"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="719,31,1140,57"/><area shape="rect" id="node9" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="1211,5,1501,32"/><area shape="rect" id="node11" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="1191,56,1521,83"/><area shape="rect" id="node15" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="773,93,1085,120"/><area shape="rect" id="node17" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="784,144,1075,171"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae403d070910c829f74a59fbf4648588f"></a><!-- doxytag: member="libdap::AttrTable::find_container" ref="ae403d070910c829f74a59fbf4648588f" args="(const string &amp;target)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> * libdap::AttrTable::find_container </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>target</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Look in this attribute table for an attribute container named <code>target</code>. The search starts at this attribute table; <code>target</code> should use the dot notation to name containers held within children of this attribute table.</p>
<p>To search the entire <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> object, make sure to invoke this method from that object.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">target</td><td>The attribute container to find. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the attribute table or null if the container cannot be found. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00495">495</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00408">find()</a>, <a class="el" href="AttrTable_8cc_source.html#l00495">find_container()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00512">simple_find_container()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00408">find()</a>, <a class="el" href="AttrTable_8cc_source.html#l00495">find_container()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00536">get_attr_table()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_ae403d070910c829f74a59fbf4648588f_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_ae403d070910c829f74a59fbf4648588f_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_ae403d070910c829f74a59fbf4648588f_cgraph" id="classlibdap_1_1AttrTable_ae403d070910c829f74a59fbf4648588f_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="492,31,743,57"/><area shape="rect" id="node14" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="407,81,828,108"/><area shape="rect" id="node6" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="877,31,1240,57"/><area shape="rect" id="node8" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="1288,5,1600,32"/><area shape="rect" id="node10" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="1299,56,1589,83"/><area shape="rect" id="node16" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="913,81,1204,108"/><area shape="rect" id="node18" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="893,132,1224,159"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a060eb65435ff7deb0905c640f17b35dc"></a><!-- doxytag: member="libdap::AttrTable::get_attr" ref="a060eb65435ff7deb0905c640f17b35dc" args="(Attr_iter iter, unsigned int i=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::AttrTable::get_attr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the value of an attribute. If the attribute has a vector value, you can indicate which is the desired value with the index argument, <em>i</em>. If the argument is omitted, the first value is returned. If the attribute has only a single value, the index argument is ignored. If <em>i</em> is greater than the number of elements in the attribute, an error is produced.</p>
<p>All values in an attribute table are stored as string data. They may be converted to a more appropriate internal format by the calling program.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">iter</td><td>Reference to an attribute </td></tr>
    <tr><td class="paramname">i</td><td>The attribute value index, zero-based. Default value: 0 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>If the indicated attribute is a container, this function returns the string ``None''. If using a name to refer to the attribute and the named attribute does not exist, return the empty string. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00776">776</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>.</p>

</div>
</div>
<a class="anchor" id="a615b618bb2333da0d7114eec2101defe"></a><!-- doxytag: member="libdap::AttrTable::get_attr" ref="a615b618bb2333da0d7114eec2101defe" args="(const string &amp;name, unsigned int i=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::AttrTable::get_attr </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00799">799</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a615b618bb2333da0d7114eec2101defe_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a615b618bb2333da0d7114eec2101defe_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a615b618bb2333da0d7114eec2101defe_cgraph" id="classlibdap_1_1AttrTable_a615b618bb2333da0d7114eec2101defe_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="347,5,669,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8b9dd1020a256e884747e8ecf57c10a3"></a><!-- doxytag: member="libdap::AttrTable::get_attr_iter" ref="a8b9dd1020a256e884747e8ecf57c10a3" args="(int i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">AttrTable::Attr_iter</a> libdap::AttrTable::get_attr_iter </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an index <code>i</code>, return the <code>Attr_iter</code> to the corresponding element. This method provides a way to use all the methods that take an <code>Attr_iter</code> using a simple integer index. Use the <a class="el" href="classlibdap_1_1AttrTable.html#a1c86cb6c91dfdc37b9787828dd09483c" title="Get the number of attributes in this container.">get_attr_num()</a> or <a class="el" href="classlibdap_1_1AttrTable.html#a895e16236818e6b55790e4490cf6c2da" title="Get the number of entries in this attribute table.">get_size()</a> methods to determine how many items the <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> contains.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>The index </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The corresponding Attr_iter </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1AttrTable.html#a1c86cb6c91dfdc37b9787828dd09483c" title="Get the number of attributes in this container.">get_attr_num</a>, <a class="el" href="classlibdap_1_1AttrTable.html#a895e16236818e6b55790e4490cf6c2da" title="Get the number of entries in this attribute table.">get_size</a> </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00663">663</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

</div>
</div>
<a class="anchor" id="acd12f3bd820be114b3cc3dd97aad7d89"></a><!-- doxytag: member="libdap::AttrTable::get_attr_num" ref="acd12f3bd820be114b3cc3dd97aad7d89" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int libdap::AttrTable::get_attr_num </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>If the attribute referenced by <em>iter</em> is a container attribute, this method returns the number of attributes in its attribute table. If the indicated attribute is not a container, the method returns the number of values for the attribute (1 for a scalar attribute, N for a vector attribute value). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">iter</td><td>Reference to an attribute </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of elements in the attribute. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00751">751</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>.</p>

</div>
</div>
<a class="anchor" id="a1c86cb6c91dfdc37b9787828dd09483c"></a><!-- doxytag: member="libdap::AttrTable::get_attr_num" ref="a1c86cb6c91dfdc37b9787828dd09483c" args="(const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int libdap::AttrTable::get_attr_num </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>If the indicated attribute is a container attribute, this function returns the number of attributes in <em>its</em> attribute table. If the indicated attribute is not a container, the method returns the number of values for the attribute (1 for a scalar attribute, N for a vector attribute value). </p>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00566">566</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a1c86cb6c91dfdc37b9787828dd09483c_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a1c86cb6c91dfdc37b9787828dd09483c_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a1c86cb6c91dfdc37b9787828dd09483c_cgraph" id="classlibdap_1_1AttrTable_a1c86cb6c91dfdc37b9787828dd09483c_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="387,5,709,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="afd8cf7a6bf36504f48eda8a6ff11a56c"></a><!-- doxytag: member="libdap::AttrTable::get_attr_table" ref="afd8cf7a6bf36504f48eda8a6ff11a56c" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> * libdap::AttrTable::get_attr_table </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the attribute container referenced by <em>iter</em>. If no such container exists, then return a reference to the end of the table. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">iter</td><td>Reference to a table contained by this object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The child attribute table. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00690">690</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>.</p>

</div>
</div>
<a class="anchor" id="a4010172de5c41cd88f2422d5e1975522"></a><!-- doxytag: member="libdap::AttrTable::get_attr_table" ref="a4010172de5c41cd88f2422d5e1975522" args="(const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> * libdap::AttrTable::get_attr_table </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00536">536</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00495">find_container()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00884">add_value_alias()</a>, <a class="el" href="DAS_8cc_source.html#l00222">libdap::DAS::get_table()</a>, <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, and <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a4010172de5c41cd88f2422d5e1975522_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a4010172de5c41cd88f2422d5e1975522_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a4010172de5c41cd88f2422d5e1975522_cgraph" id="classlibdap_1_1AttrTable_a4010172de5c41cd88f2422d5e1975522_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="405,31,757,57"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="892,31,1143,57"/><area shape="rect" id="node16" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="807,81,1228,108"/><area shape="rect" id="node8" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="1277,31,1640,57"/><area shape="rect" id="node10" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="1688,5,2000,32"/><area shape="rect" id="node12" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="1699,56,1989,83"/><area shape="rect" id="node18" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="1313,81,1604,108"/><area shape="rect" id="node20" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="1293,132,1624,159"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a0893b78039439185dd39c69beaf0324e"></a><!-- doxytag: member="libdap::AttrTable::get_attr_type" ref="a0893b78039439185dd39c69beaf0324e" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a> libdap::AttrTable::get_attr_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the type of the attribute referenced by <em>iter</em>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">iter</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The datatype of this attribute in an instance of AttrType. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00738">738</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

</div>
</div>
<a class="anchor" id="aefcd82370930ba94a288f135d9417a93"></a><!-- doxytag: member="libdap::AttrTable::get_attr_type" ref="aefcd82370930ba94a288f135d9417a93" args="(const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a> libdap::AttrTable::get_attr_type </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The <code>AttrType</code> value describing the attribute. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00552">552</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00078">libdap::Attr_unknown</a>, and <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00884">add_value_alias()</a>, <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, and <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_aefcd82370930ba94a288f135d9417a93_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_aefcd82370930ba94a288f135d9417a93_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_aefcd82370930ba94a288f135d9417a93_cgraph" id="classlibdap_1_1AttrTable_aefcd82370930ba94a288f135d9417a93_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="397,5,720,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a19f9153c5bad64f5bc783d493ffa0733"></a><!-- doxytag: member="libdap::AttrTable::get_attr_vector" ref="a19f9153c5bad64f5bc783d493ffa0733" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt; string &gt; * libdap::AttrTable::get_attr_vector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a pointer to the vector of values associated with the attribute referenced by iterator <em>iter</em>.</p>
<p>Note that all values in an attribute table are stored as string data. They may be converted to a more appropriate internal format by the calling program.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">iter</td><td>Reference to the Attribute. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>If the indicated attribute is a container, this function returns the null pointer. Otherwise returns a pointer to the the attribute vector value. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00817">817</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>.</p>

</div>
</div>
<a class="anchor" id="a7352d886789e9e38d530fc44c6cbef30"></a><!-- doxytag: member="libdap::AttrTable::get_attr_vector" ref="a7352d886789e9e38d530fc44c6cbef30" args="(const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt; string &gt; * libdap::AttrTable::get_attr_vector </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a pointer to the vector of values associated with the attribute referenced by Pix <code>p</code> or named <code>name</code>.</p>
<p>Note that all values in an attribute table are stored as string data. They may be converted to a more appropriate internal format by the calling program.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>If the indicated attribute is a container, this function returns the null pointer. Otherwise returns a pointer to the the attribute vector value. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00585">585</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>.</p>

<p>Referenced by <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, and <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a7352d886789e9e38d530fc44c6cbef30_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a7352d886789e9e38d530fc44c6cbef30_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a7352d886789e9e38d530fc44c6cbef30_cgraph" id="classlibdap_1_1AttrTable_a7352d886789e9e38d530fc44c6cbef30_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="416,5,739,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a4c79bee34f6d3fb0947776adaa52aeee"></a><!-- doxytag: member="libdap::AttrTable::get_name" ref="a4c79bee34f6d3fb0947776adaa52aeee" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::AttrTable::get_name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A string containing the name. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00208">208</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00852">add_container_alias()</a>, <a class="el" href="DAS_8cc_source.html#l00210">libdap::DAS::get_name()</a>, <a class="el" href="AttrTable_8cc_source.html#l01155">print()</a>, <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>, <a class="el" href="AttrTable_8cc_source.html#l00512">simple_find_container()</a>, <a class="el" href="AttrTable_8cc_source.html#l01038">simple_print()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="DDS_8cc_source.html#l00367">libdap::DDS::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, and <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>.</p>

</div>
</div>
<a class="anchor" id="ad7ce1789497599e99014696aa5afe736"></a><!-- doxytag: member="libdap::AttrTable::get_name" ref="ad7ce1789497599e99014696aa5afe736" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::AttrTable::get_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the name of the attribute referenced by <em>iter</em>. </p>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00670">670</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a3cd9ea1f233c5d237c34c5a53c68a115"></a><!-- doxytag: member="libdap::AttrTable::get_parent" ref="a3cd9ea1f233c5d237c34c5a53c68a115" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a>* libdap::AttrTable::get_parent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return a pointer to the <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> which holds this table (aka, its parent. If this <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> has no parent, this returns null. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the parent <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a>. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8h_source.html#l00275">275</a> of file <a class="el" href="AttrTable_8h_source.html">AttrTable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a895e16236818e6b55790e4490cf6c2da"></a><!-- doxytag: member="libdap::AttrTable::get_size" ref="a895e16236818e6b55790e4490cf6c2da" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int libdap::AttrTable::get_size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Attributes that are containers count one attribute, as do attributes with both scalar and vector values. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of entries. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00200">200</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>Referenced by <a class="el" href="DAS_8cc_source.html#l00158">libdap::DAS::get_size()</a>, and <a class="el" href="BaseType_8cc_source.html#l00976">libdap::BaseType::print_xml()</a>.</p>

</div>
</div>
<a class="anchor" id="abfdfb5b51ff84a41596ebf0f28ca77df"></a><!-- doxytag: member="libdap::AttrTable::get_type" ref="abfdfb5b51ff84a41596ebf0f28ca77df" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::AttrTable::get_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the type name of an attribute referenced by <em>iter</em>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">iter</td><td>Reference to the Attribute. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string with the name of this attribute datatype. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00728">728</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00059">libdap::AttrType_to_String()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_abfdfb5b51ff84a41596ebf0f28ca77df_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_abfdfb5b51ff84a41596ebf0f28ca77df_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_abfdfb5b51ff84a41596ebf0f28ca77df_cgraph" id="classlibdap_1_1AttrTable_abfdfb5b51ff84a41596ebf0f28ca77df_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a84d1b6bca4eb21023f90f7b4ae6f382b" title="libdap::AttrType_to_String" alt="" coords="347,5,629,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a689563c3beb8e6f571387c5105821f27"></a><!-- doxytag: member="libdap::AttrTable::get_type" ref="a689563c3beb8e6f571387c5105821f27" args="(const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::AttrTable::get_type </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00543">543</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00470">simple_find()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00239">append_attr()</a>, <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>, <a class="el" href="AttrTable_8cc_source.html#l01038">simple_print()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, and <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a689563c3beb8e6f571387c5105821f27_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a689563c3beb8e6f571387c5105821f27_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a689563c3beb8e6f571387c5105821f27_cgraph" id="classlibdap_1_1AttrTable_a689563c3beb8e6f571387c5105821f27_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="347,5,669,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a2ca5cf1e2aa163259b00affe49547a0d"></a><!-- doxytag: member="libdap::AttrTable::is_container" ref="a2ca5cf1e2aa163259b00affe49547a0d" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::AttrTable::is_container </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns true if the attribute referenced by <em>i</em> is a container. </p>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00679">679</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00884">add_value_alias()</a>, <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00512">simple_find_container()</a>.</p>

</div>
</div>
<a class="anchor" id="a2906fea416b22dcdf96df9eb5e21258a"></a><!-- doxytag: member="libdap::AttrTable::is_global_attribute" ref="a2906fea416b22dcdf96df9eb5e21258a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool libdap::AttrTable::is_global_attribute </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8h_source.html#l00280">280</a> of file <a class="el" href="AttrTable_8h_source.html">AttrTable.h</a>.</p>

<p>Referenced by <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, and <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>.</p>

</div>
</div>
<a class="anchor" id="a6923d18999608d59c02883b12cb18788"></a><!-- doxytag: member="libdap::AttrTable::is_global_attribute" ref="a6923d18999608d59c02883b12cb18788" args="(Attr_iter iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::AttrTable::is_global_attribute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00824">824</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>.</p>

</div>
</div>
<a class="anchor" id="a5110c171d6fa7911f4022145f2ad9027"></a><!-- doxytag: member="libdap::AttrTable::operator=" ref="a5110c171d6fa7911f4022145f2ad9027" args="(const AttrTable &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> &amp; libdap::AttrTable::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00183">183</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00122">clone()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a5110c171d6fa7911f4022145f2ad9027_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a5110c171d6fa7911f4022145f2ad9027_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a5110c171d6fa7911f4022145f2ad9027_cgraph" id="classlibdap_1_1AttrTable_a5110c171d6fa7911f4022145f2ad9027_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a4fa4213ffc8bd5ab96ff6ba148fd9eb1" title="libdap::AttrTable::clone" alt="" coords="359,5,620,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="acc2d83b4f1c8e704a6f83ff966a999c8"></a><!-- doxytag: member="libdap::AttrTable::print" ref="acc2d83b4f1c8e704a6f83ff966a999c8" args="(FILE *out, string pad=&quot;    &quot;, bool dereference=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::print </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>pad</em> = <code>&quot;&#160;&#160;&#160;&#160;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>dereference</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Prints an ASCII representation of the attribute table to the indicated FILE pointer. The <code>pad</code> argument is prefixed to each line of the output to provide control of indentation.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>Print to the given output FILE. </td></tr>
    <tr><td class="paramname">pad</td><td>Indent elements of a table using this string of spaces. By default this is a string of four spaces </td></tr>
    <tr><td class="paramname">dereference</td><td>If true, follow aliases. Default is false. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l01155">1155</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00208">get_name()</a>, <a class="el" href="escaping_8cc_source.html#l00151">libdap::id2www()</a>, and <a class="el" href="AttrTable_8cc_source.html#l01038">simple_print()</a>.</p>

<p>Referenced by <a class="el" href="DAS_8cc_source.html#l00372">libdap::DAS::print()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_acc2d83b4f1c8e704a6f83ff966a999c8_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_acc2d83b4f1c8e704a6f83ff966a999c8_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_acc2d83b4f1c8e704a6f83ff966a999c8_cgraph" id="classlibdap_1_1AttrTable_acc2d83b4f1c8e704a6f83ff966a999c8_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="700,5,991,32"/><area shape="rect" id="node5" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="764,107,927,133"/><area shape="rect" id="node9" href="classlibdap_1_1AttrTable.html#a1abee354d7f609ed55b849b0431bc48f" title="libdap::AttrTable::simple_print" alt="" coords="319,56,649,83"/><area shape="rect" id="node7" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="1105,107,1297,133"/><area shape="rect" id="node12" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="700,56,991,83"/><area shape="rect" id="node14" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1040,56,1363,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a785014928633842a93352cc05038ea38"></a><!-- doxytag: member="libdap::AttrTable::print" ref="a785014928633842a93352cc05038ea38" args="(ostream &amp;out, string pad=&quot;    &quot;, bool dereference=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::print </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>pad</em> = <code>&quot;&#160;&#160;&#160;&#160;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>dereference</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Prints an ASCII representation of the attribute table to the indicated output stream. The <code>pad</code> argument is prefixed to each line of the output to provide control of indentation.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>Print to the given output stream. </td></tr>
    <tr><td class="paramname">pad</td><td>Indent elements of a table using this string of spaces. By default this is a string of four spaces </td></tr>
    <tr><td class="paramname">dereference</td><td>If true, follow aliases. Default is false. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l01186">1186</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00208">get_name()</a>, <a class="el" href="escaping_8cc_source.html#l00151">libdap::id2www()</a>, and <a class="el" href="AttrTable_8cc_source.html#l01038">simple_print()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a785014928633842a93352cc05038ea38_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a785014928633842a93352cc05038ea38_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a785014928633842a93352cc05038ea38_cgraph" id="classlibdap_1_1AttrTable_a785014928633842a93352cc05038ea38_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="700,5,991,32"/><area shape="rect" id="node5" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="764,107,927,133"/><area shape="rect" id="node9" href="classlibdap_1_1AttrTable.html#a1abee354d7f609ed55b849b0431bc48f" title="libdap::AttrTable::simple_print" alt="" coords="319,56,649,83"/><area shape="rect" id="node7" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="1105,107,1297,133"/><area shape="rect" id="node12" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="700,56,991,83"/><area shape="rect" id="node14" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1040,56,1363,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5e27ea09f83831eded1b3d86de7f4534"></a><!-- doxytag: member="libdap::AttrTable::print_xml" ref="a5e27ea09f83831eded1b3d86de7f4534" args="(FILE *out, string pad=&quot;    &quot;, bool constrained=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::print_xml </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>pad</em> = <code>&quot;&#160;&#160;&#160;&#160;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>constrained</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Print the attribute table in XML. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>Destination </td></tr>
    <tr><td class="paramname">pad</td><td>Indent lines of text/xml this much. Default is four spaces. </td></tr>
    <tr><td class="paramname">constrained</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l01209">1209</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00640">attr_begin()</a>, <a class="el" href="AttrTable_8cc_source.html#l00649">attr_end()</a>, <a class="el" href="AttrTable_8h_source.html#l00089">libdap::Attr_other_xml</a>, <a class="el" href="AttrTable_8cc_source.html#l00799">get_attr()</a>, <a class="el" href="AttrTable_8cc_source.html#l00566">get_attr_num()</a>, <a class="el" href="AttrTable_8cc_source.html#l00536">get_attr_table()</a>, <a class="el" href="AttrTable_8cc_source.html#l00552">get_attr_type()</a>, <a class="el" href="AttrTable_8cc_source.html#l00208">get_name()</a>, <a class="el" href="AttrTable_8cc_source.html#l00543">get_type()</a>, <a class="el" href="escaping_8cc_source.html#l00266">libdap::id2xml()</a>, <a class="el" href="AttrTable_8cc_source.html#l00679">is_container()</a>, and <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>.</p>

<p>Referenced by <a class="el" href="Grid_8cc_source.html#l00912">libdap::Grid::print_xml()</a>, <a class="el" href="DDS_8cc_source.html#l01130">libdap::DDS::print_xml()</a>, <a class="el" href="Constructor_8cc_source.html#l00448">libdap::Constructor::print_xml()</a>, <a class="el" href="BaseType_8cc_source.html#l00976">libdap::BaseType::print_xml()</a>, <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>, and <a class="el" href="Array_8cc_source.html#l00687">libdap::Array::print_xml_core()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a5e27ea09f83831eded1b3d86de7f4534_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a5e27ea09f83831eded1b3d86de7f4534_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a5e27ea09f83831eded1b3d86de7f4534_cgraph" id="classlibdap_1_1AttrTable_a5e27ea09f83831eded1b3d86de7f4534_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="2040,49,2352,76"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="2051,150,2341,177"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#a615b618bb2333da0d7114eec2101defe" title="libdap::AttrTable::get_attr" alt="" coords="388,404,679,430"/><area shape="rect" id="node11" href="classlibdap_1_1AttrTable.html#a1c86cb6c91dfdc37b9787828dd09483c" title="Get the number of attributes in this container." alt="" coords="368,454,699,481"/><area shape="rect" id="node14" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522" title="Get an attribute container." alt="" coords="357,144,709,170"/><area shape="rect" id="node29" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="1665,150,1956,177"/><area shape="rect" id="node31" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="1645,201,1976,228"/><area shape="rect" id="node33" href="classlibdap_1_1AttrTable.html#aefcd82370930ba94a288f135d9417a93" title="Get the type of an attribute." alt="" coords="363,302,704,329"/><area shape="rect" id="node37" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="388,353,679,380"/><area shape="rect" id="node40" href="namespacelibdap.html#a62463a13bf510db3a14c0053fea14f4d" title="libdap::id2xml" alt="" coords="452,505,615,532"/><area shape="rect" id="node9" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="772,378,1095,405"/><area shape="rect" id="node16" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="757,137,1109,164"/><area shape="rect" id="node18" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="1244,100,1495,126"/><area shape="rect" id="node27" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="1159,150,1580,177"/><area shape="rect" id="node21" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="1629,100,1992,126"/><area shape="rect" id="node42" href="namespacelibdap.html#a61f9b10ef0e659cebdca50a89d8ea7c3" title="libdap::octal_to_hex" alt="" coords="823,505,1044,532"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a21ee9e5f68e06fb698ef93553dcdc592"></a><!-- doxytag: member="libdap::AttrTable::print_xml" ref="a21ee9e5f68e06fb698ef93553dcdc592" args="(ostream &amp;out, string pad=&quot;    &quot;, bool constrained=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::print_xml </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>pad</em> = <code>&quot;&#160;&#160;&#160;&#160;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>constrained</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Print the attribute table in XML. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>Destination stream </td></tr>
    <tr><td class="paramname">pad</td><td>Indent lines of text/xml this much. Default is four spaces. </td></tr>
    <tr><td class="paramname">constrained</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l01264">1264</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00640">attr_begin()</a>, <a class="el" href="AttrTable_8cc_source.html#l00649">attr_end()</a>, <a class="el" href="AttrTable_8h_source.html#l00089">libdap::Attr_other_xml</a>, <a class="el" href="AttrTable_8cc_source.html#l00799">get_attr()</a>, <a class="el" href="AttrTable_8cc_source.html#l00566">get_attr_num()</a>, <a class="el" href="AttrTable_8cc_source.html#l00536">get_attr_table()</a>, <a class="el" href="AttrTable_8cc_source.html#l00552">get_attr_type()</a>, <a class="el" href="AttrTable_8cc_source.html#l00208">get_name()</a>, <a class="el" href="AttrTable_8cc_source.html#l00543">get_type()</a>, <a class="el" href="escaping_8cc_source.html#l00266">libdap::id2xml()</a>, <a class="el" href="AttrTable_8cc_source.html#l00679">is_container()</a>, and <a class="el" href="AttrTable_8cc_source.html#l01209">print_xml()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a21ee9e5f68e06fb698ef93553dcdc592_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a21ee9e5f68e06fb698ef93553dcdc592_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a21ee9e5f68e06fb698ef93553dcdc592_cgraph" id="classlibdap_1_1AttrTable_a21ee9e5f68e06fb698ef93553dcdc592_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="2392,493,2704,520"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="2403,544,2693,570"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#a615b618bb2333da0d7114eec2101defe" title="libdap::AttrTable::get_attr" alt="" coords="740,164,1031,190"/><area shape="rect" id="node11" href="classlibdap_1_1AttrTable.html#a1c86cb6c91dfdc37b9787828dd09483c" title="Get the number of attributes in this container." alt="" coords="720,12,1051,38"/><area shape="rect" id="node14" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522" title="Get an attribute container." alt="" coords="709,468,1061,494"/><area shape="rect" id="node29" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="2017,444,2308,470"/><area shape="rect" id="node31" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="1997,366,2328,393"/><area shape="rect" id="node33" href="classlibdap_1_1AttrTable.html#aefcd82370930ba94a288f135d9417a93" title="Get the type of an attribute." alt="" coords="715,62,1056,89"/><area shape="rect" id="node37" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="740,113,1031,140"/><area shape="rect" id="node40" href="namespacelibdap.html#a62463a13bf510db3a14c0053fea14f4d" title="libdap::id2xml" alt="" coords="804,593,967,620"/><area shape="rect" id="node45" href="classlibdap_1_1AttrTable.html#a5e27ea09f83831eded1b3d86de7f4534" title="libdap::AttrTable::print_xml" alt="" coords="359,265,660,292"/><area shape="rect" id="node9" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1124,88,1447,114"/><area shape="rect" id="node16" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="1109,492,1461,518"/><area shape="rect" id="node18" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="1596,518,1847,545"/><area shape="rect" id="node27" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="1511,468,1932,494"/><area shape="rect" id="node21" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="1981,518,2344,545"/><area shape="rect" id="node42" href="namespacelibdap.html#a61f9b10ef0e659cebdca50a89d8ea7c3" title="libdap::octal_to_hex" alt="" coords="1175,593,1396,620"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aefdc93c9514013ebd644488cd8365924"></a><!-- doxytag: member="libdap::AttrTable::recurrsive_find" ref="aefdc93c9514013ebd644488cd8365924" args="(const string &amp;target, Attr_iter *location)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> * libdap::AttrTable::recurrsive_find </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a> *&#160;</td>
          <td class="paramname"><em>location</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method scans for attributes using recursion to look inside containers even when the name of the attribute is not fully qualified. It starts looking in itself and descends into its children depth first. It will find attributes and attribute containers.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">target</td><td>Look for the attribute with this name. </td></tr>
    <tr><td class="paramname">location</td><td>A value-result parameter. This returns an iterator to the attribute within the returned <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a pointer to the <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> which holds <em>target</em>, or null if <em>target</em> is not found. In the latter case, the value of <em>location</em> is <a class="el" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba">attr_end()</a> for this <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a>. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00440">440</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00640">attr_begin()</a>, <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8cc_source.html#l00649">attr_end()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00440">recurrsive_find()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00408">find()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00440">recurrsive_find()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_aefdc93c9514013ebd644488cd8365924_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_aefdc93c9514013ebd644488cd8365924_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_aefdc93c9514013ebd644488cd8365924_cgraph" id="classlibdap_1_1AttrTable_aefdc93c9514013ebd644488cd8365924_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="416,5,728,32"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="427,56,717,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aadba23c830a02aa19c24c2a6f442dfd2"></a><!-- doxytag: member="libdap::AttrTable::set_is_global_attribute" ref="aadba23c830a02aa19c24c2a6f442dfd2" args="(bool ga)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void libdap::AttrTable::set_is_global_attribute </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ga</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8h_source.html#l00281">281</a> of file <a class="el" href="AttrTable_8h_source.html">AttrTable.h</a>.</p>

<p>Referenced by <a class="el" href="DAS_8cc_source.html#l00254">libdap::DAS::add_table()</a>, <a class="el" href="Grid_8cc_source.html#l00612">libdap::Grid::transfer_attributes()</a>, <a class="el" href="Constructor_8cc_source.html#l00260">libdap::Constructor::transfer_attributes()</a>, and <a class="el" href="BaseType_8cc_source.html#l00571">libdap::BaseType::transfer_attributes()</a>.</p>

</div>
</div>
<a class="anchor" id="abf6da8bcff87a1976c9227f801b36d47"></a><!-- doxytag: member="libdap::AttrTable::set_is_global_attribute" ref="abf6da8bcff87a1976c9227f801b36d47" args="(Attr_iter iter, bool ga)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::set_is_global_attribute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ga</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00834">834</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>.</p>

</div>
</div>
<a class="anchor" id="a3d09ff6bf5a12789308b20440dcaf302"></a><!-- doxytag: member="libdap::AttrTable::set_name" ref="a3d09ff6bf5a12789308b20440dcaf302" args="(const string &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::set_name </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>The new name of the attribute table. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00216">216</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00369">append_container()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a3d09ff6bf5a12789308b20440dcaf302_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a3d09ff6bf5a12789308b20440dcaf302_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a3d09ff6bf5a12789308b20440dcaf302_cgraph" id="classlibdap_1_1AttrTable_a3d09ff6bf5a12789308b20440dcaf302_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="347,5,509,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="559,5,769,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae7824f413ad036d91df0ef62cac14351"></a><!-- doxytag: member="libdap::AttrTable::simple_find" ref="ae7824f413ad036d91df0ef62cac14351" args="(const string &amp;target)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">AttrTable::Attr_iter</a> libdap::AttrTable::simple_find </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>target</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Look in this <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> for the attribute called <code>name</code>. If found return an Attr_iter which references it, otherwise return the end iterator for this <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">target</td><td>The name of the attribute. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An Attr_iter which references <code>target</code>. </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00470">470</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00852">add_container_alias()</a>, <a class="el" href="AttrTable_8cc_source.html#l00884">add_value_alias()</a>, <a class="el" href="AttrTable_8cc_source.html#l00239">append_attr()</a>, <a class="el" href="AttrTable_8cc_source.html#l00369">append_container()</a>, <a class="el" href="AttrTable_8cc_source.html#l00608">del_attr()</a>, <a class="el" href="AttrTable_8cc_source.html#l00799">get_attr()</a>, <a class="el" href="AttrTable_8cc_source.html#l00566">get_attr_num()</a>, <a class="el" href="AttrTable_8cc_source.html#l00552">get_attr_type()</a>, <a class="el" href="AttrTable_8cc_source.html#l00585">get_attr_vector()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00543">get_type()</a>.</p>

</div>
</div>
<a class="anchor" id="a6602967438b96bf1ba08e2b8195b9238"></a><!-- doxytag: member="libdap::AttrTable::simple_find_container" ref="a6602967438b96bf1ba08e2b8195b9238" args="(const string &amp;target)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a> * libdap::AttrTable::simple_find_container </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>target</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00512">512</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8cc_source.html#l00208">get_name()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00679">is_container()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00495">find_container()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a6602967438b96bf1ba08e2b8195b9238_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a6602967438b96bf1ba08e2b8195b9238_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a6602967438b96bf1ba08e2b8195b9238_cgraph" id="classlibdap_1_1AttrTable_a6602967438b96bf1ba08e2b8195b9238_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="499,5,789,32"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="479,56,809,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a1abee354d7f609ed55b849b0431bc48f"></a><!-- doxytag: member="libdap::AttrTable::simple_print" ref="a1abee354d7f609ed55b849b0431bc48f" args="(FILE *out, string pad, Attr_iter i, bool dereference)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::simple_print </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>pad</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>dereference</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A simple printer that does nothing fancy with aliases. Protected. </p>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l01038">1038</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8h_source.html#l00089">libdap::Attr_other_xml</a>, <a class="el" href="AttrTable_8h_source.html#l00087">libdap::Attr_string</a>, <a class="el" href="AttrTable_8cc_source.html#l00208">get_name()</a>, <a class="el" href="AttrTable_8cc_source.html#l00543">get_type()</a>, and <a class="el" href="escaping_8cc_source.html#l00151">libdap::id2www()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l01155">print()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_a1abee354d7f609ed55b849b0431bc48f_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_a1abee354d7f609ed55b849b0431bc48f_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_a1abee354d7f609ed55b849b0431bc48f_cgraph" id="classlibdap_1_1AttrTable_a1abee354d7f609ed55b849b0431bc48f_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="388,5,679,32"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="388,56,679,83"/><area shape="rect" id="node9" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="452,107,615,133"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="728,56,1051,83"/><area shape="rect" id="node11" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="793,107,985,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae167683da221e8d64aaf2fab58dbf22f"></a><!-- doxytag: member="libdap::AttrTable::simple_print" ref="ae167683da221e8d64aaf2fab58dbf22f" args="(ostream &amp;out, string pad, Attr_iter i, bool dereference)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::AttrTable::simple_print </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>pad</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1AttrTable.html#a3647edf8906b672bad7a8c5ffc81d62a">Attr_iter</a>&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>dereference</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A simple printer that does nothing fancy with aliases. Protected. </p>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l01094">1094</a> of file <a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a>.</p>

<p>References <a class="el" href="AttrTable_8h_source.html#l00079">libdap::Attr_container</a>, <a class="el" href="AttrTable_8h_source.html#l00089">libdap::Attr_other_xml</a>, <a class="el" href="AttrTable_8h_source.html#l00087">libdap::Attr_string</a>, <a class="el" href="AttrTable_8cc_source.html#l00208">get_name()</a>, <a class="el" href="AttrTable_8cc_source.html#l00543">get_type()</a>, and <a class="el" href="escaping_8cc_source.html#l00151">libdap::id2www()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1AttrTable_ae167683da221e8d64aaf2fab58dbf22f_cgraph.png" border="0" usemap="#classlibdap_1_1AttrTable_ae167683da221e8d64aaf2fab58dbf22f_cgraph" alt=""/></div>
<map name="classlibdap_1_1AttrTable_ae167683da221e8d64aaf2fab58dbf22f_cgraph" id="classlibdap_1_1AttrTable_ae167683da221e8d64aaf2fab58dbf22f_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="388,5,679,32"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="388,56,679,83"/><area shape="rect" id="node9" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="452,107,615,133"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="728,56,1051,83"/><area shape="rect" id="node11" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="793,107,985,133"/></map>
</div>
</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="aaf41c5b6e5f9c13e92735511139b18b3"></a><!-- doxytag: member="libdap::AttrTable::AttrTableTest" ref="aaf41c5b6e5f9c13e92735511139b18b3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class AttrTableTest<code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8h_source.html#l00250">250</a> of file <a class="el" href="AttrTable_8h_source.html">AttrTable.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="AttrTable_8h_source.html">AttrTable.h</a></li>
<li><a class="el" href="AttrTable_8cc_source.html">AttrTable.cc</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacelibdap.html">libdap</a>      </li>
      <li class="navelem"><a class="el" href="classlibdap_1_1AttrTable.html">AttrTable</a>      </li>
      <li class="footer">Generated on Tue Feb 8 2011 for libdap++ by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>