Sophie

Sophie

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

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 Namespace 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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
      <li><a href="namespacemembers.html"><span>Namespace&#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('namespacelibdap.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<h1>libdap Namespace Reference</h1>  </div>
</div>
<div class="contents">
<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AlarmHandler.html">AlarmHandler</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Ancillary.html">Ancillary</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Array.html">Array</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A multidimensional array of identical data types.  <a href="classlibdap_1_1Array.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ArrayGeoConstraint.html">ArrayGeoConstraint</a></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">AttrTable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the attributes for a dataset.  <a href="classlibdap_1_1AttrTable.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1BaseType.html">BaseType</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The basic data type for the DODS DAP types.  <a href="classlibdap_1_1BaseType.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1BaseTypeFactory.html">BaseTypeFactory</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Byte.html">Byte</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a single byte.  <a href="classlibdap_1_1Byte.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibdap_1_1ce__parser__arg.html">ce_parser_arg</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibdap_1_1Clause.html">Clause</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a fragment of a constraint expression.  <a href="structlibdap_1_1Clause.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Cmp.html">Cmp</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Connect.html">Connect</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds information about the link from a DAP2 client to a dataset.  <a href="classlibdap_1_1Connect.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate a constraint expression.  <a href="classlibdap_1_1ConstraintEvaluator.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Constructor.html">Constructor</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DapIndent.html">DapIndent</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">class with static methods to help with indentation of debug information.  <a href="classlibdap_1_1DapIndent.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DapObj.html">DapObj</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">libdap base object for common functionality of libdap objects  <a href="classlibdap_1_1DapObj.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DAS.html">DAS</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Hold attribute data for a DAP2 dataset.  <a href="classlibdap_1_1DAS.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DataDDS.html">DataDDS</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a DAP2 <a class="el" href="classlibdap_1_1DDS.html">DDS</a>.  <a href="classlibdap_1_1DataDDS.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDS.html">DDS</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParseFailed.html">DDXParseFailed</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html">DDXParser</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html">DODSFilter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Common functions for DODS server filter programs.  <a href="classlibdap_1_1DODSFilter.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Error.html">Error</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A class for error processing.  <a href="classlibdap_1_1Error.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1EventHandler.html">EventHandler</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Float32.html">Float32</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a 32-bit floating point value.  <a href="classlibdap_1_1Float32.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Float64.html">Float64</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a 64-bit (double precision) floating point value.  <a href="classlibdap_1_1Float64.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GeoConstraint.html">GeoConstraint</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Grid.html">Grid</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> data type.  <a href="classlibdap_1_1Grid.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GridGeoConstraint.html">GridGeoConstraint</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibdap_1_1gse__arg.html">gse_arg</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1GSEClause.html">GSEClause</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1HTTPCache.html">HTTPCache</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1HTTPCacheInterruptHandler.html">HTTPCacheInterruptHandler</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1HTTPCacheResponse.html">HTTPCacheResponse</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1HTTPCacheTable.html">HTTPCacheTable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1HTTPConnect.html">HTTPConnect</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1HTTPResponse.html">HTTPResponse</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Int16.html">Int16</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a 16-bit signed integer value.  <a href="classlibdap_1_1Int16.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Int32.html">Int32</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a 32-bit signed integer.  <a href="classlibdap_1_1Int32.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1InternalErr.html">InternalErr</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A class for software fault reporting.  <a href="classlibdap_1_1InternalErr.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Marshaller.html">Marshaller</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">abstract base class used to marshal/serialize dap data objects  <a href="classlibdap_1_1Marshaller.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibdap_1_1parser__arg.html">parser_arg</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass parameters by reference to a parser.  <a href="structlibdap_1_1parser__arg.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1PipeResponse.html">PipeResponse</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Encapsulate a response. This class provides special treatment for 'stream pipes.' It arranges to close them using pclose() instead of fclose().  <a href="classlibdap_1_1PipeResponse.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1RCReader.html">RCReader</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Resource.html">Resource</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Associate a rule with an ancillary resource.  <a href="classlibdap_1_1Resource.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Response.html">Response</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ResponseTooBigErr.html">ResponseTooBigErr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1rvalue.html">rvalue</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Sequence.html">Sequence</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a sequence.  <a href="classlibdap_1_1Sequence.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1SignalHandler.html">SignalHandler</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1SignalHandlerRegisteredErr.html">SignalHandlerRegisteredErr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1StdinResponse.html">StdinResponse</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Encapsulate a response read from stdin.  <a href="classlibdap_1_1StdinResponse.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Str.html">Str</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds character string data.  <a href="classlibdap_1_1Str.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1StrCmp.html">StrCmp</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Structure.html">Structure</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a structure (aggregate) type.  <a href="classlibdap_1_1Structure.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1SUCmp.html">SUCmp</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1TestHandler.html">TestHandler</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1UInt16.html">UInt16</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds an unsigned 16-bit integer.  <a href="classlibdap_1_1UInt16.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1UInt32.html">UInt32</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a 32-bit unsigned integer.  <a href="classlibdap_1_1UInt32.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1UnMarshaller.html">UnMarshaller</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">abstract base class used to unmarshall/deserialize dap data objects  <a href="classlibdap_1_1UnMarshaller.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Url.html">Url</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds an Internet address (URL).  <a href="classlibdap_1_1Url.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1USCmp.html">USCmp</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1Vector.html">Vector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds a one-dimensional collection of DAP2 data types.  <a href="classlibdap_1_1Vector.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1XDRFileMarshaller.html">XDRFileMarshaller</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">marshaller that knows how to marshall/serialize dap data objects to a file using XDR  <a href="classlibdap_1_1XDRFileMarshaller.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1XDRFileUnMarshaller.html">XDRFileUnMarshaller</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">unmarshaller that knows how to unmarshall/deserialize dap objects using XDR from a file  <a href="classlibdap_1_1XDRFileUnMarshaller.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1XDRStreamMarshaller.html">XDRStreamMarshaller</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using XDR  <a href="classlibdap_1_1XDRStreamMarshaller.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1XDRStreamUnMarshaller.html">XDRStreamUnMarshaller</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">unmarshaller that knows how to unmarshall/deserialize dap objects using XDR from a file  <a href="classlibdap_1_1XDRStreamUnMarshaller.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1XDRUtils.html">XDRUtils</a></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef vector&lt; <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#acf78ec36b2d70d02d8eea5cd50253922">BaseTypeRow</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ad431f107665452c7fe52e360b38f2828">dods_byte</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a40163a7391daa28f0e3063a2054a16a2">dods_float32</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#af677a1bef7552bc36d52ecdcdd2c878f">dods_float64</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ae7f3429a8f8962d271e43ece6968d91d">dods_int16</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ae759bb5209e20f49935f93743022b8bc">dods_int32</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#af0edc957e05ac3c9e085c2b4f30b2d18">dods_uint16</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#acbbf2cafed9043c5e0cd44df0f75fc6d">dods_uint32</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a4d08204a35e99e555cda79022648362f">ErrorCode</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An enumerated type for common errors.  <a href="#a4d08204a35e99e555cda79022648362f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> * &gt;<br class="typebreak"/>
::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a4b649067a7902ecdc2b93df2bacb2946">rvalue_list_citer</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> * &gt;<br class="typebreak"/>
::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a72bbbdd2885cd9b1105e8f9d25af0b79">rvalue_list_iter</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef vector&lt; <a class="el" href="namespacelibdap.html#acf78ec36b2d70d02d8eea5cd50253922">BaseTypeRow</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ad2918a01a28d16d423b047e2d312f760">SequenceValues</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aa9d529378270ad490952b2b3352935ed">Sigfunc</a> (int)</td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a> { <br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aa9c48931629d48c70dcd9bc21ef708308">Attr_unknown</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aa0f1d4f1e70981b989c7753420cc2233d">Attr_container</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aae86f70fa90ecd95f3e0ca3413d16f34a">Attr_byte</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aafbdbc322a10942f70f23cf5436b93c3f">Attr_int16</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aac5f8b06f3bb92555ca17c7ac3a2c9acc">Attr_uint16</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aaa9d080ef33455e44f820598bfba952ba">Attr_int32</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aaab33c61e98b52f9fd90fca55cd074923">Attr_uint32</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aa00ec5f70082c1c7c729d65d06340e708">Attr_float32</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aad0436c5332f3df3dde8f1d6bec998709">Attr_float64</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aa5ab5e05bc3d3cb5ff64c0379faccd4a3">Attr_string</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aaab3f9f7548282b0ef0c588acef98caeb">Attr_url</a>, 
<a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aab38ca73333845a5796e061f8c2e9f8f2">Attr_other_xml</a>
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a49a7ae9e704d21900a5bebcb92ebae94">CacheDisconnectedMode</a> { <a class="el" href="namespacelibdap.html#a49a7ae9e704d21900a5bebcb92ebae94ac72ffa05dab5314b5be58051c5c6e12c">DISCONNECT_NONE</a> =  0, 
<a class="el" href="namespacelibdap.html#a49a7ae9e704d21900a5bebcb92ebae94ac8e52abed56c0345e66a7a10f1d510c7">DISCONNECT_NORMAL</a> =  1, 
<a class="el" href="namespacelibdap.html#a49a7ae9e704d21900a5bebcb92ebae94a9cd83890e81830b5f751ebda9cfdf5a1">DISCONNECT_EXTERNAL</a> =  2
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> { <br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55aedb1369505df2331dded285a69d3d715">unknown_enc</a>, 
<a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55a3b0e7efd18178acc018030f0e69565a5">deflate</a>, 
<a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55ab128dd348d8e64eff653ca8efa0574f4">x_plain</a>, 
<a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55ab96b926a9c78f642ac354bc7485b604e">gzip</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55a0fd591f50f7b35fe2a22a216a49bd654">binary</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>The type of encoding used on the current stream. </p>
 <a href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> { <br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aa5ea9f0cd3ea158ca267b3c7266a215a3">unknown_type</a>, 
<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aa02461a6c30af5fa6a789ea22fef8534e">dods_das</a>, 
<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aae5a70721811fccc5ee73852269b01a01">dods_dds</a>, 
<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aa81aaa5f03d4278cb44a2148d13384710">dods_data</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aa742dd62797a6ff77549a1803a4e77d79">dods_error</a>, 
<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aaa4a8434126fdf1a42a77c74409973b54">web_error</a>, 
<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aa605a335e5665d5f3ac75cacf42a15ae8">dap4_ddx</a>, 
<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aa3024d0ef2b1d655dedba800665b7f513">dap4_data</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aa4913b7492696bccacfb4fc84da0bceed">dap4_error</a>, 
<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aae2070a684067288a7ad65cb671c73a26">dap4_data_ddx</a>, 
<a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06aaf4dc265e5be5ab5584aa717cfd6ec6b9">dods_ddx</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>The type of object in the stream coming from the data server. </p>
 <a href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695">Part</a> { <a class="el" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695a86819e8da7d767f7c916c6b5da0feb6b">nil</a>, 
<a class="el" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695aed5453774cf1a62b2f92c0c70b989247">array</a>, 
<a class="el" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695aaa7dc708bd26f663a00ecf52a673da1b">maps</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Names the parts of multi-section constructor data types. </p>
 <a href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757">relop</a> { <br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757aa8e5c4916f3c340f2bd4f22d272cb164">dods_nop_op</a>, 
<a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757a8b4b62ef08f2e543f461ef4f519b4ff7">dods_greater_op</a>, 
<a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757a78e7d0a03e0a6f15a5335fb85c08a327">dods_greater_equal_op</a>, 
<a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757a8028088cfd3ffa11f219a78c5155d263">dods_less_op</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757a6d8294078c5da7fd4aab6350b55f5dae">dods_less_equal_op</a>, 
<a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757a6e5b83098bae549deb95a22af4ef3354">dods_equal_op</a>, 
<a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757acb9f92535c4670fa5d97c4334b5764d2">dods_not_equal_op</a>
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6">Type</a> { <br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6aa146d902a00eb7e9bb393f4e36bd07de">dods_null_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a4124790aeab42dbcd3d5303dea15b200">dods_byte_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a37d71c620b71be06fbe667e7cb0e80e4">dods_int16_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a84188f64695716d84cefe910704ca094">dods_uint16_c</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a524bfec434d0a8f82e06bfcc02c9a6b1">dods_int32_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a1bdeca4f415a3372b83448efd87bff83">dods_uint32_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a6aff4fd17f027d0f0c41423e2f74a68c">dods_float32_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a8661c9f9c227fe59b7f5563f20e145d6">dods_float64_c</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6ad620cef0bf41edebd4ee802071192a79">dods_str_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a64d653d09a50d6d17537c43ed217f665">dods_url_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6ada8f5df7bb2bc72327fcd16af811562f">dods_array_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6ad93eb0a69e67742f061966ce594b9a6c">dods_structure_c</a>, 
<br/>
&#160;&#160;<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a0b03707324b30e4a7c88876bbf8c7e3b">dods_sequence_c</a>, 
<a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6ac41525d2e860d3bcff641eb1fdba41d2">dods_grid_c</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Identifies the data type. </p>
 <a href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelibdap.html#a443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a30de006b7d3ba0b0ee8aca90d4648844">append_rvalue_list</a> (<a class="el" href="namespacelibdap.html#a443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *rvals, <a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> *rv)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a84d1b6bca4eb21023f90f7b4ae6f382b">AttrType_to_String</a> (const <a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a> at)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a928b16257bc714971a2a3c91cb42d882">build_btp_args</a> (<a class="el" href="namespacelibdap.html#a443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *args, <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a0dfd3ee0cedf2cdd4196e8a18f0b1292">char2ASCII</a> (string s, const string escape=&quot;%[0-7][0-9a-fA-F]&quot;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a6159f969729b3625cfb42b97b76a29b6">check_byte</a> (const char *val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the value a valid byte?  <a href="#a6159f969729b3625cfb42b97b76a29b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a8e3daffef90939dcbb46fb6f50b9a40e">check_float32</a> (const char *val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the value a valid float?  <a href="#a8e3daffef90939dcbb46fb6f50b9a40e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a0004b07014e0ece91b7f363e805ceca1">check_float64</a> (const char *val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a78501bb2d0a23568042d59281ed27072">check_int16</a> (const char *val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the value a valid integer?  <a href="#a78501bb2d0a23568042d59281ed27072"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aa9db83b431346800f838b089fafb0066">check_int32</a> (const char *val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a179d079ad6ee351b8944f44059e3e797">check_uint16</a> (const char *val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a754cae6f64ff4052f6e694184a68938c">check_uint32</a> (const char *val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a0e96bac2251d066910b2647830b6959c">check_url</a> (const char *val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the value a valid URL?  <a href="#a0e96bac2251d066910b2647830b6959c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a6267c527b6792dccd24212308645026f">cid_to_header_value</a> (const string &amp;cid)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a9696b8596e7a5858d494e8a8d7d082c1">close_temp</a> (FILE *s, const string &amp;name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FILE *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#acd1d919406377c736eb8ad51933c2cd0">compressor</a> (FILE *output, int &amp;childpid)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#affccb78f3a718e01f5fac17b682430d1">dap_version</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ab9983dcf36d072b24f4ecee5558d790a">date_time_str</a> (time_t *calendar, bool local)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a27871bfdfbe3fda3db0d2d8e5966d771">deflate_exists</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aa82de3f91e281e1866adf5fa78966fa0">dods_max</a> (int i1, int i2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a244eda6b9036d2d728649ebfa1b9609b">dods_progress</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a7e55035aed27d6e56f7219405c803628">double_eq</a> (double lhs, double rhs, double epsilon=1.0e-5)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a7edce266869606fc7bb46124f8d63809">downcase</a> (string &amp;s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a164a636683af9444c41c17c84d88e5f7">esc2underscore</a> (string s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aa26bd967ca156771d2bd79db8bd3a91f">escape_double_quotes</a> (string source)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a17b72fe083734a5fefaf5542f640d87e">escattr</a> (string s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ae9717ce6442b4909dcd7add356a7ff88">extract_double_array</a> (<a class="el" href="classlibdap_1_1Array.html">Array</a> *a)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a3c8b08223f4ea1841cf82dfc743a0d3a">extract_double_value</a> (<a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *arg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aca7eee077ab6dadb25126a92cf82737a">extract_string_argument</a> (<a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *arg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aed6073fcecd8d82a616f4d2de9a8e591">file_to_string</a> (FILE *fp)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a505f2ae07c56035f983661b3fbe927a0">found_override</a> (string name, string &amp;doc)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ac840c421a3cc8efe7f9370c7466b2bc7">func_version</a> (int argc, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *argv[], <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> **btpp)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#abd2a0e965db0ed47f0206b4c646d9edd">function_geoarray</a> (int argc, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *argv[], <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> **btpp)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a97ebb2cf77302bf3dda2934593964ec4">function_geogrid</a> (int argc, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *argv[], <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> **btpp)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ad495b5febe1ea2b30f9fce7e31e98c9e">function_grid</a> (int argc, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *argv[], <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> **btpp)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#acb70f051b4691bdf6d1333a2a7a442f0">function_linear_scale</a> (int argc, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *argv[], <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> **btpp)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a69a45fe57f5b17b8ab202f454b2f7556">function_version</a> (int, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *[], <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;, <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> **btpp)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a284c1c548cbcea75bb1b7c8374dc04e9">get_description_type</a> (const string &amp;value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a68a16ef70e29c367dabd3cb5165c386a">get_hash</a> (const string &amp;url)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a138ad983bab51cd81239f2e3d0572486">get_next_mime_header</a> (FILE *in)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a38c36ee6057b9229779ba3053bb37d4c">get_temp_file</a> (FILE *&amp;stream)  throw (InternalErr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aceb42dce2c3676ca9785ee89190ab4ce">get_type</a> (const string &amp;value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a">hexstring</a> (unsigned char val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c">id2www</a> (string in, const string &amp;allowable)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#adc33774947740cc181b6d4d7ca90e22d">id2www_ce</a> (string in, const string &amp;allowable)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a62463a13bf510db3a14c0053fea14f4d">id2xml</a> (string in, const string &amp;not_allowed)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#adf7e4c413496dc6047a0ea00855e78cb">is_boundary</a> (const char *line, const string &amp;boundary)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a1987f9d225c2778a297eab61a6a612b3">is_hop_by_hop_header</a> (const string &amp;header)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#af6521dec3b141314aab525bccfaa7bbe">is_keyword</a> (string id, const string &amp;keyword)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#af5f0e11f33c1eb25b831c02d65b2a9ee">is_quoted</a> (const string &amp;s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a218c76777bb3b1a6088a5d9f431fd3f0">libdap_name</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aa410c0b58527efed5753f9f2da1b9775">libdap_root</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a3c2e481465a4567eaf6d1f22d84c0ef9">libdap_version</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelibdap.html#a443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aa689627594051295e6cb5e472403f943">make_rvalue_list</a> (<a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> *rv)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a959e3920299235f2615b8db7bc822b6d">munge_error_message</a> (string msg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a61f9b10ef0e659cebdca50a89d8ea7c3">octal_to_hex</a> (const string &amp;octal_digits)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a5efc80c1583d1a764da47096650e1455">octstring</a> (unsigned char val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a891be0a66df84d19ae4c5c614794a7e5">parse_error</a> (const char *msg, const int line_num, const char *context)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a3853818a415408fd980e8f3a9321d5d8">parse_mime_header</a> (const string &amp;header, string &amp;name, string &amp;value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#abaf4e1a6a665dbfe9324b25ec9fa701a">parse_time</a> (const char *str, bool expand)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a38d9163360ace25ebe5dec96b17039ac">path_to_filename</a> (string path)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a4b1fc86f3e9e75f967ad66f07962d406">prune_spaces</a> (const string &amp;name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ae06585f4af69dae8595002949b3e29f5">read_multipart_boundary</a> (FILE *in, const string &amp;boundary)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a5eeabecdc04289ca1ed78d333f29129d">register_functions</a> (<a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;ce)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a84080cf0736578f62620dde0fd3f2110">remove_mime_header</a> (FILE *in)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read and discard the MIME header of the stream <code>in</code>.  <a href="#a84080cf0736578f62620dde0fd3f2110"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a37a24fcba1630ac658ec4c8a902dd92c">remove_quotes</a> (const string &amp;s)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T1 , class T2 , class C &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a79dd96d2f12a08a71d0aa3ecd42b9b47">rops</a> (T1 a, T2 b, int op)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a88b0cc055e14caf84865c2d5730d4fb3">save_str</a> (char *dst, const char *src, const int line_num)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a string to a temporary variable during the parse.  <a href="#a88b0cc055e14caf84865c2d5730d4fb3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a859f196112f4facae9307314c18be6f1">save_str</a> (string &amp;dst, const char *src, const int)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a5d52ca5c40dd022353469e7b5d8a9ad4">set_array_using_double</a> (<a class="el" href="classlibdap_1_1Array.html">Array</a> *dest, double *src, int src_len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a6d4117c49771ce2665142ff0dd9c976b">String_to_AttrType</a> (const string &amp;s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aa865553d4933d667330f305dcb2564b0">systime</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FILE *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a988f63f5e1fedcf8b7802b7eaf02710c">text_to_temp</a> (string text)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a4c3ce7a705067cd34a90d2481033fdb6">unescape_double_quotes</a> (string source)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a8ea51bd234898fe461d77dfbe3a678fe">unescattr</a> (string s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0">unhexstring</a> (string s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#afabf64c5d4c1900f1c05ac655895f7ee">unique_names</a> (vector&lt; <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> * &gt; l, const string &amp;var_name, const string &amp;type_name, string &amp;msg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a2e899171229a834bd84b7ac3bead7e63">unit_or_name_match</a> (set&lt; string &gt; units, set&lt; string &gt; names, const string &amp;var_units, const string &amp;var_name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#afbc8888b9891cac063f4d77b368b1021">unoctstring</a> (string s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2">www2id</a> (const string &amp;in, const string &amp;escape, const string &amp;except)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a613e8502fe2c16fd938d1bd9065fceb0">xml2id</a> (string in)</td></tr>
<tr><td colspan="2"><div class="groupHeader">CGI Utilities</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>A collection of useful functions for writing OPeNDAP servers.</p>
<p>The CGI utilities include a variety of functions useful to programmers developing OPeNDAP CGI filter programs. However, before jumping in and using these, look at the class <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a>. Always choose to use that class over these functions if you can.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> </dd></dl>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a7e95f81049cb65e60edcc5ec41d445d7">do_version</a> (const string &amp;script_ver, const string &amp;dataset_ver)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a version number.  <a href="#a7e95f81049cb65e60edcc5ec41d445d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ac76ab0ba8dd2e6d2db8e4d07175ea266">ErrMsgT</a> (const string &amp;Msgt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs an error message.  <a href="#ac76ab0ba8dd2e6d2db8e4d07175ea266"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ab6f5b13bfa1cc80a83ca5e78ed97c62b">name_path</a> (const string &amp;path)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the filename portion of a pathname.  <a href="#ab6f5b13bfa1cc80a83ca5e78ed97c62b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ac9f9538a83379c66933c2c40d90c268e">rfc822_date</a> (const time_t t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a394c0b1380a16e886f96bf4a9081ed3a">last_modified_time</a> (const string &amp;name)</td></tr>
<tr><td colspan="2"><div class="groupHeader">MIME utility functions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These functions are used to create the MIME headers for a message from a server to a client. They are public but should not be called directly unless absolutely necessary. Use <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> instead.</p>
<p>NB: These functions actually write both the response status line <em>and</em> the header.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> </dd></dl>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a7a785b8fcc89e5be01284c06a9dbc97d">set_mime_text</a> (ostream &amp;strm, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type, const string &amp;ver, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc, const time_t last_modified)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a2d47123836f484835fd6d85d66ca0129">set_mime_html</a> (ostream &amp;strm, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type, const string &amp;ver, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc, const time_t last_modified)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ae55c70a6b2073269d49dd7654d625710">set_mime_binary</a> (ostream &amp;strm, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type, const string &amp;ver, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc, const time_t last_modified)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a8e8484bd3d54c09c120cb7afcde19d1f">set_mime_multipart</a> (ostream &amp;strm, const string &amp;boundary, const string &amp;start, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type, const string &amp;<a class="el" href="getdap_8cc.html#aa31f487a99743d24af9076a3e11e5425">version</a>, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc, const time_t last_modified)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a387c60d25f7e78d4ced09c7907ad0662">set_mime_ddx_boundary</a> (ostream &amp;strm, const string &amp;boundary, const string &amp;cid, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a02822649dbf10c226e3f6be5c8a89991">set_mime_data_boundary</a> (ostream &amp;strm, const string &amp;boundary, const string &amp;cid, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a96c1d42b551af831c26287053386e244">read_multipart_headers</a> (FILE *in, const string &amp;content_type, const <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> object_type, const string &amp;cid)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#ab2d00f30883d50ec4c6a7e48e489f8c0">set_mime_error</a> (ostream &amp;strm, int code, const string &amp;reason, const string &amp;<a class="el" href="getdap_8cc.html#aa31f487a99743d24af9076a3e11e5425">version</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a9ff38622675d29e932726aea56525a40">set_mime_not_modified</a> (ostream &amp;strm)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a `Not Modified' response.  <a href="#a9ff38622675d29e932726aea56525a40"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a1038a9b27c66db35da4dd32daee52fca">set_mime_text</a> (FILE *out, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type=unknown_type, const string &amp;<a class="el" href="getdap_8cc.html#aa31f487a99743d24af9076a3e11e5425">version</a>=&quot;&quot;, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc=x_plain, const time_t last_modified=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a367c4b89011d16c68c42a9eee1aeea69">set_mime_html</a> (FILE *out, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type=unknown_type, const string &amp;<a class="el" href="getdap_8cc.html#aa31f487a99743d24af9076a3e11e5425">version</a>=&quot;&quot;, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc=x_plain, const time_t last_modified=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a93b77fae7a3c55d69ee1641937679ab6">set_mime_binary</a> (FILE *out, <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> type=unknown_type, const string &amp;<a class="el" href="getdap_8cc.html#aa31f487a99743d24af9076a3e11e5425">version</a>=&quot;&quot;, <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">EncodingType</a> enc=x_plain, const time_t last_modified=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a1b35e30f866f98c319884ffe26b7af30">set_mime_error</a> (FILE *out, int code=404, const string &amp;reason=&quot;Dataset not found&quot;, const string &amp;<a class="el" href="getdap_8cc.html#aa31f487a99743d24af9076a3e11e5425">version</a>=&quot;&quot;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a46842454008837163552f30754a7388a">set_mime_not_modified</a> (FILE *out)</td></tr>
<tr><td colspan="2"><div class="groupHeader">parse_error</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Generate error messages for the various parsers.</p>
<p><code>parser_error()</code> generates error messages for the various parsers used by libdap. There are two versions of the function, one which takes a <code>const char *message</code> and a <code>const int line_num</code> and writes the message and line number too stderr and a second which takes an additional <code><a class="el" href="structlibdap_1_1parser__arg.html" title="Pass parameters by reference to a parser.">parser_arg</a> arg</code> parameter and writes the error message into an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object which is returned to the caller via the <code>arg</code> parameter.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>{The second version of this function also accepts a third parameter (<code>const char *context</code>) which can be used to provide an additional line of information beyond what is in the string <code>message</code>.}</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#abe3f160643e31cc5a43ab97b389a7d6f">parse_error</a> (<a class="el" href="structlibdap_1_1parser__arg.html">parser_arg</a> *arg, const char *msg, const int line_num, const char *context)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a01787175503c9d6d90968046efe46e19">parse_error</a> (const string &amp;msg, const int line_num, const char *context)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Integer to string conversion functions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Fast, safe conversions from long to a character representation which gets appended to a string. This method will take a long value 'val' and it will recursively divide it by 'base' in order to "extract" one by one the digits which compose it; these digits will be <em>appended</em> to the string <code>str_val</code> which will become the textual representation of 'val'. Please notice that the digits ``extracted'' from `val' will vary depending on the base chosen for the conversion; for example val=15 converted to base 10 will yield the digits (1,5), converted to base 16 will yield (F) and converted to base 2 will yield (1,1,1,1).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">val</td><td>The long value we which to convert to string.</td></tr>
    <tr><td class="paramname">base</td><td>A value in the range [2,36] which is the base to use while transforming the long value 'val' to its textual representation. Typical bases are 2 (binary), 10 (decimal) and 16 (hexadecimal).</td></tr>
    <tr><td class="paramname">str_val</td><td>This is the string that will hold the textual representation of 'val'. The string <code>str_val</code> should be pre-set to an empty string ("") otherwise the output of this function will just append the textual representation of val to whatever data is there; these feature may be useful if you wish to append a long value to a string s1 (just like operator+ does) without having to create a new string object s2 and then use string::operator+ between s1 and s2.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void. This method returns nothing however be aware that it will throw and exception of type <code>std::invalid_argument</code> if the parameter base is not in the valid range. </dd></dl>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff">append_long_to_string</a> (long val, int base, string &amp;str_val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a">long_to_string</a> (long val, int base)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Double to string conversion functions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Conversions from double to a character representation which gets appended to a string. This function depends on the standard routine sprintf to convert a double to a textual representation which gets appended to the string 'str'.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">num</td><td>The double you wish to append to str.</td></tr>
    <tr><td class="paramname">str</td><td>The string where the textual representation of num will be appended.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void. </dd></dl>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a385e0e3c04caef28126afb481f4867dd">append_double_to_string</a> (const double &amp;num, string &amp;str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a7c3f898946a0ae498f4ca830731cc474">double_to_string</a> (const double &amp;num)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Security functions</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a36c4fc80766718669c9790c6cb20c895">size_ok</a> (unsigned int sz, unsigned int nelem)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">sanitize the size of an array. Test for integer overflow when dynamically allocating an array.  <a href="#a36c4fc80766718669c9790c6cb20c895"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a7c34f89476954f3a2fd0eaa1d1e8cd32">pathname_ok</a> (const string &amp;path, bool strict)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the string name a potentailly valid pathname? Test the given pathname to verfiy that it is a valid name. We define this as: Contains only printable characters; and Is less then 256 characters. If <em>strict</em> is true, test that the pathname consists of only letters, digits, and underscore, dash and dot characters instead of the more general case where a pathname can be composed of any printable characters.  <a href="#a7c34f89476954f3a2fd0eaa1d1e8cd32"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aeafd230ca250e819c46862dc43deb4fa">dods_keep_temps</a> = 0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a2b66c19fe22ad8616c2e33f94a0a9a49">DODS_MAX_ARRAY</a> = DODS_INT_MAX</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a867f85aa53e813ef6d0c11a5ff9588b5">double_quote</a> = &quot;\&quot;&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#af4ad71f4bf4ef84acab107dd8f77749e">line_length</a> = 1024</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aef2455580bf5deab23e48dd319ae059f">max_str_len</a> = DODS_USHRT_MAX - 1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a261bc624792c2e76fe71d669f2918b5e">max_url_len</a> = 255</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a6f36b78e0590ec9e3a0583f0ecfead64">usage</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#aab2a595ed5ba24c6f549093fdf645c67">www_trace</a> = 0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#a3352d500c7a8af593b4f0d2f15608dfb">XDR_DAP_BUFF_SIZE</a> = 4096</td></tr>
</table>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="acf78ec36b2d70d02d8eea5cd50253922"></a><!-- doxytag: member="libdap::BaseTypeRow" ref="acf78ec36b2d70d02d8eea5cd50253922" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef vector&lt;<a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *&gt; <a class="el" href="namespacelibdap.html#acf78ec36b2d70d02d8eea5cd50253922">libdap::BaseTypeRow</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The type BaseTypeRow is used to store single rows of values in an instance of <a class="el" href="classlibdap_1_1Sequence.html" title="Holds a sequence.">Sequence</a>. Values are stored in instances of <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a>. </p>

<p>Definition at line <a class="el" href="Sequence_8h_source.html#l00070">70</a> of file <a class="el" href="Sequence_8h_source.html">Sequence.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad431f107665452c7fe52e360b38f2828"></a><!-- doxytag: member="libdap::dods_byte" ref="ad431f107665452c7fe52e360b38f2828" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint8_t <a class="el" href="namespacelibdap.html#ad431f107665452c7fe52e360b38f2828">libdap::dods_byte</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dods-datatypes-static_8h_source.html#l00041">41</a> of file <a class="el" href="dods-datatypes-static_8h_source.html">dods-datatypes-static.h</a>.</p>

</div>
</div>
<a class="anchor" id="a40163a7391daa28f0e3063a2054a16a2"></a><!-- doxytag: member="libdap::dods_float32" ref="a40163a7391daa28f0e3063a2054a16a2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef float <a class="el" href="namespacelibdap.html#a40163a7391daa28f0e3063a2054a16a2">libdap::dods_float32</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dods-datatypes-static_8h_source.html#l00045">45</a> of file <a class="el" href="dods-datatypes-static_8h_source.html">dods-datatypes-static.h</a>.</p>

</div>
</div>
<a class="anchor" id="af677a1bef7552bc36d52ecdcdd2c878f"></a><!-- doxytag: member="libdap::dods_float64" ref="af677a1bef7552bc36d52ecdcdd2c878f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef double <a class="el" href="namespacelibdap.html#af677a1bef7552bc36d52ecdcdd2c878f">libdap::dods_float64</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dods-datatypes-static_8h_source.html#l00043">43</a> of file <a class="el" href="dods-datatypes-static_8h_source.html">dods-datatypes-static.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae7f3429a8f8962d271e43ece6968d91d"></a><!-- doxytag: member="libdap::dods_int16" ref="ae7f3429a8f8962d271e43ece6968d91d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int16_t <a class="el" href="namespacelibdap.html#ae7f3429a8f8962d271e43ece6968d91d">libdap::dods_int16</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dods-datatypes-static_8h_source.html#l00037">37</a> of file <a class="el" href="dods-datatypes-static_8h_source.html">dods-datatypes-static.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae759bb5209e20f49935f93743022b8bc"></a><!-- doxytag: member="libdap::dods_int32" ref="ae759bb5209e20f49935f93743022b8bc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int32_t <a class="el" href="namespacelibdap.html#ae759bb5209e20f49935f93743022b8bc">libdap::dods_int32</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dods-datatypes-static_8h_source.html#l00033">33</a> of file <a class="el" href="dods-datatypes-static_8h_source.html">dods-datatypes-static.h</a>.</p>

</div>
</div>
<a class="anchor" id="af0edc957e05ac3c9e085c2b4f30b2d18"></a><!-- doxytag: member="libdap::dods_uint16" ref="af0edc957e05ac3c9e085c2b4f30b2d18" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint16_t <a class="el" href="namespacelibdap.html#af0edc957e05ac3c9e085c2b4f30b2d18">libdap::dods_uint16</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dods-datatypes-static_8h_source.html#l00039">39</a> of file <a class="el" href="dods-datatypes-static_8h_source.html">dods-datatypes-static.h</a>.</p>

</div>
</div>
<a class="anchor" id="acbbf2cafed9043c5e0cd44df0f75fc6d"></a><!-- doxytag: member="libdap::dods_uint32" ref="acbbf2cafed9043c5e0cd44df0f75fc6d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="namespacelibdap.html#acbbf2cafed9043c5e0cd44df0f75fc6d">libdap::dods_uint32</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dods-datatypes-static_8h_source.html#l00035">35</a> of file <a class="el" href="dods-datatypes-static_8h_source.html">dods-datatypes-static.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4d08204a35e99e555cda79022648362f"></a><!-- doxytag: member="libdap::ErrorCode" ref="a4d08204a35e99e555cda79022648362f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int <a class="el" href="namespacelibdap.html#a4d08204a35e99e555cda79022648362f">libdap::ErrorCode</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The most common errors within DAP2 have special codes so that they can be spotted easily by the client software. Any error without a matching code gets the <code>unknown_error</code> code. </p>

<p>Definition at line <a class="el" href="Error_8h_source.html#l00055">55</a> of file <a class="el" href="Error_8h_source.html">Error.h</a>.</p>

</div>
</div>
<a class="anchor" id="a443d3b7d9ceaa4ec25e5bfcc555ce056"></a><!-- doxytag: member="libdap::rvalue_list" ref="a443d3b7d9ceaa4ec25e5bfcc555ce056" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> *&gt; <a class="el" href="namespacelibdap.html#a443d3b7d9ceaa4ec25e5bfcc555ce056">libdap::rvalue_list</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="RValue_8h_source.html#l00067">67</a> of file <a class="el" href="RValue_8h_source.html">RValue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4b649067a7902ecdc2b93df2bacb2946"></a><!-- doxytag: member="libdap::rvalue_list_citer" ref="a4b649067a7902ecdc2b93df2bacb2946" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> *&gt;::const_iterator <a class="el" href="namespacelibdap.html#a4b649067a7902ecdc2b93df2bacb2946">libdap::rvalue_list_citer</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="RValue_8h_source.html#l00068">68</a> of file <a class="el" href="RValue_8h_source.html">RValue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a72bbbdd2885cd9b1105e8f9d25af0b79"></a><!-- doxytag: member="libdap::rvalue_list_iter" ref="a72bbbdd2885cd9b1105e8f9d25af0b79" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> *&gt;::iterator <a class="el" href="namespacelibdap.html#a72bbbdd2885cd9b1105e8f9d25af0b79">libdap::rvalue_list_iter</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="RValue_8h_source.html#l00069">69</a> of file <a class="el" href="RValue_8h_source.html">RValue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad2918a01a28d16d423b047e2d312f760"></a><!-- doxytag: member="libdap::SequenceValues" ref="ad2918a01a28d16d423b047e2d312f760" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef vector&lt;<a class="el" href="namespacelibdap.html#acf78ec36b2d70d02d8eea5cd50253922">BaseTypeRow</a> *&gt; <a class="el" href="namespacelibdap.html#ad2918a01a28d16d423b047e2d312f760">libdap::SequenceValues</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This type holds all of the values of a <a class="el" href="classlibdap_1_1Sequence.html" title="Holds a sequence.">Sequence</a>. </p>

<p>Definition at line <a class="el" href="Sequence_8h_source.html#l00073">73</a> of file <a class="el" href="Sequence_8h_source.html">Sequence.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa9d529378270ad490952b2b3352935ed"></a><!-- doxytag: member="libdap::Sigfunc" ref="aa9d529378270ad490952b2b3352935ed" args="(int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void <a class="el" href="namespacelibdap.html#aa9d529378270ad490952b2b3352935ed">libdap::Sigfunc</a>(int)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="SignalHandler_8h_source.html#l00037">37</a> of file <a class="el" href="SignalHandler_8h_source.html">SignalHandler.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2a"></a><!-- doxytag: member="libdap::AttrType" ref="ae4f907cc24469ce7b0fef9e3d7758d2a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">libdap::AttrType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><b>AttrType</b> identifies the data types which may appear in an attribute table object.</p>
<div class="fragment"><pre class="fragment">    <span class="keyword">enum</span> <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a> {
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aa9c48931629d48c70dcd9bc21ef708308">Attr_unknown</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aa0f1d4f1e70981b989c7753420cc2233d">Attr_container</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aae86f70fa90ecd95f3e0ca3413d16f34a">Attr_byte</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aafbdbc322a10942f70f23cf5436b93c3f">Attr_int16</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aac5f8b06f3bb92555ca17c7ac3a2c9acc">Attr_uint16</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aaa9d080ef33455e44f820598bfba952ba">Attr_int32</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aaab33c61e98b52f9fd90fca55cd074923">Attr_uint32</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aa00ec5f70082c1c7c729d65d06340e708">Attr_float32</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aad0436c5332f3df3dde8f1d6bec998709">Attr_float64</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aa5ab5e05bc3d3cb5ff64c0379faccd4a3">Attr_string</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aaab3f9f7548282b0ef0c588acef98caeb">Attr_url</a>,
 <a class="code" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2aab38ca73333845a5796e061f8c2e9f8f2">Attr_other_xml</a>
    };
</pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aa9c48931629d48c70dcd9bc21ef708308"></a><!-- doxytag: member="Attr_unknown" ref="ae4f907cc24469ce7b0fef9e3d7758d2aa9c48931629d48c70dcd9bc21ef708308" args="" -->Attr_unknown</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aa0f1d4f1e70981b989c7753420cc2233d"></a><!-- doxytag: member="Attr_container" ref="ae4f907cc24469ce7b0fef9e3d7758d2aa0f1d4f1e70981b989c7753420cc2233d" args="" -->Attr_container</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aae86f70fa90ecd95f3e0ca3413d16f34a"></a><!-- doxytag: member="Attr_byte" ref="ae4f907cc24469ce7b0fef9e3d7758d2aae86f70fa90ecd95f3e0ca3413d16f34a" args="" -->Attr_byte</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aafbdbc322a10942f70f23cf5436b93c3f"></a><!-- doxytag: member="Attr_int16" ref="ae4f907cc24469ce7b0fef9e3d7758d2aafbdbc322a10942f70f23cf5436b93c3f" args="" -->Attr_int16</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aac5f8b06f3bb92555ca17c7ac3a2c9acc"></a><!-- doxytag: member="Attr_uint16" ref="ae4f907cc24469ce7b0fef9e3d7758d2aac5f8b06f3bb92555ca17c7ac3a2c9acc" args="" -->Attr_uint16</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aaa9d080ef33455e44f820598bfba952ba"></a><!-- doxytag: member="Attr_int32" ref="ae4f907cc24469ce7b0fef9e3d7758d2aaa9d080ef33455e44f820598bfba952ba" args="" -->Attr_int32</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aaab33c61e98b52f9fd90fca55cd074923"></a><!-- doxytag: member="Attr_uint32" ref="ae4f907cc24469ce7b0fef9e3d7758d2aaab33c61e98b52f9fd90fca55cd074923" args="" -->Attr_uint32</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aa00ec5f70082c1c7c729d65d06340e708"></a><!-- doxytag: member="Attr_float32" ref="ae4f907cc24469ce7b0fef9e3d7758d2aa00ec5f70082c1c7c729d65d06340e708" args="" -->Attr_float32</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aad0436c5332f3df3dde8f1d6bec998709"></a><!-- doxytag: member="Attr_float64" ref="ae4f907cc24469ce7b0fef9e3d7758d2aad0436c5332f3df3dde8f1d6bec998709" args="" -->Attr_float64</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aa5ab5e05bc3d3cb5ff64c0379faccd4a3"></a><!-- doxytag: member="Attr_string" ref="ae4f907cc24469ce7b0fef9e3d7758d2aa5ab5e05bc3d3cb5ff64c0379faccd4a3" args="" -->Attr_string</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aaab3f9f7548282b0ef0c588acef98caeb"></a><!-- doxytag: member="Attr_url" ref="ae4f907cc24469ce7b0fef9e3d7758d2aaab3f9f7548282b0ef0c588acef98caeb" args="" -->Attr_url</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae4f907cc24469ce7b0fef9e3d7758d2aab38ca73333845a5796e061f8c2e9f8f2"></a><!-- doxytag: member="Attr_other_xml" ref="ae4f907cc24469ce7b0fef9e3d7758d2aab38ca73333845a5796e061f8c2e9f8f2" args="" -->Attr_other_xml</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

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

</div>
</div>
<a class="anchor" id="a49a7ae9e704d21900a5bebcb92ebae94"></a><!-- doxytag: member="libdap::CacheDisconnectedMode" ref="a49a7ae9e704d21900a5bebcb92ebae94" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacelibdap.html#a49a7ae9e704d21900a5bebcb92ebae94">libdap::CacheDisconnectedMode</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Disconnected Operation</p>
<p>The cache can be set to handle disconnected operation where it does not use the network to validate entries and does not attempt to load new documents. All requests that cannot be fulfilled by the cache will be returned with a "504 Gateway Timeout" response. There are two operational disconnected modes:</p>
<p>No network activity at all: Here it uses its own persistent cache to answer the request, if possible.</p>
<p>Forward all disconnected requests to a proxy cache: Here it uses the HTTP/1.1 cache-control header to indicate that the proxy should operate in disconnected mode. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a49a7ae9e704d21900a5bebcb92ebae94ac72ffa05dab5314b5be58051c5c6e12c"></a><!-- doxytag: member="DISCONNECT_NONE" ref="a49a7ae9e704d21900a5bebcb92ebae94ac72ffa05dab5314b5be58051c5c6e12c" args="" -->DISCONNECT_NONE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a49a7ae9e704d21900a5bebcb92ebae94ac8e52abed56c0345e66a7a10f1d510c7"></a><!-- doxytag: member="DISCONNECT_NORMAL" ref="a49a7ae9e704d21900a5bebcb92ebae94ac8e52abed56c0345e66a7a10f1d510c7" args="" -->DISCONNECT_NORMAL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a49a7ae9e704d21900a5bebcb92ebae94a9cd83890e81830b5f751ebda9cfdf5a1"></a><!-- doxytag: member="DISCONNECT_EXTERNAL" ref="a49a7ae9e704d21900a5bebcb92ebae94a9cd83890e81830b5f751ebda9cfdf5a1" args="" -->DISCONNECT_EXTERNAL</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="HTTPCacheDisconnectedMode_8h_source.html#l00047">47</a> of file <a class="el" href="HTTPCacheDisconnectedMode_8h_source.html">HTTPCacheDisconnectedMode.h</a>.</p>

</div>
</div>
<a class="anchor" id="aada86e90b40fc8068dbfe9be79f09e55"></a><!-- doxytag: member="libdap::EncodingType" ref="aada86e90b40fc8068dbfe9be79f09e55" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacelibdap.html#aada86e90b40fc8068dbfe9be79f09e55">libdap::EncodingType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>libdap understands two types of encoding: x-plain and deflate, which correspond to plain uncompressed data and data compressed with zlib's LZW algorithm respectively.</p>
<p><code> enum EncodingType { unknown_enc, deflate, x_plain, gzip, binary }; </code> </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="aada86e90b40fc8068dbfe9be79f09e55aedb1369505df2331dded285a69d3d715"></a><!-- doxytag: member="unknown_enc" ref="aada86e90b40fc8068dbfe9be79f09e55aedb1369505df2331dded285a69d3d715" args="" -->unknown_enc</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aada86e90b40fc8068dbfe9be79f09e55a3b0e7efd18178acc018030f0e69565a5"></a><!-- doxytag: member="deflate" ref="aada86e90b40fc8068dbfe9be79f09e55a3b0e7efd18178acc018030f0e69565a5" args="" -->deflate</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aada86e90b40fc8068dbfe9be79f09e55ab128dd348d8e64eff653ca8efa0574f4"></a><!-- doxytag: member="x_plain" ref="aada86e90b40fc8068dbfe9be79f09e55ab128dd348d8e64eff653ca8efa0574f4" args="" -->x_plain</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aada86e90b40fc8068dbfe9be79f09e55ab96b926a9c78f642ac354bc7485b604e"></a><!-- doxytag: member="gzip" ref="aada86e90b40fc8068dbfe9be79f09e55ab96b926a9c78f642ac354bc7485b604e" args="" -->gzip</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aada86e90b40fc8068dbfe9be79f09e55a0fd591f50f7b35fe2a22a216a49bd654"></a><!-- doxytag: member="binary" ref="aada86e90b40fc8068dbfe9be79f09e55a0fd591f50f7b35fe2a22a216a49bd654" args="" -->binary</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="EncodingType_8h_source.html#l00048">48</a> of file <a class="el" href="EncodingType_8h_source.html">EncodingType.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae7466ed8496f06654ec276eac907c06a"></a><!-- doxytag: member="libdap::ObjectType" ref="ae7466ed8496f06654ec276eac907c06a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">libdap::ObjectType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>When a version 2.x or greater DAP data server sends an object, it uses the Content-Description header of the response to indicate the type of object contained in the response. During the parse of the header a member of <a class="el" href="classlibdap_1_1Connect.html" title="Holds information about the link from a DAP2 client to a dataset.">Connect</a> is set to one of these values so that other mfuncs can tell the type of object without parsing the stream themselves.</p>
<pre>
     enum ObjectType {
       unknown_type,
       dods_das,
       dods_dds,
       dods_data,
       dods_error,
       web_error,
       dods_ddx,
       dap4_ddx,
       dap4_data,
       dap4_error,
       dap4_data_ddx
     };
     </pre> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aa5ea9f0cd3ea158ca267b3c7266a215a3"></a><!-- doxytag: member="unknown_type" ref="ae7466ed8496f06654ec276eac907c06aa5ea9f0cd3ea158ca267b3c7266a215a3" args="" -->unknown_type</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aa02461a6c30af5fa6a789ea22fef8534e"></a><!-- doxytag: member="dods_das" ref="ae7466ed8496f06654ec276eac907c06aa02461a6c30af5fa6a789ea22fef8534e" args="" -->dods_das</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aae5a70721811fccc5ee73852269b01a01"></a><!-- doxytag: member="dods_dds" ref="ae7466ed8496f06654ec276eac907c06aae5a70721811fccc5ee73852269b01a01" args="" -->dods_dds</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aa81aaa5f03d4278cb44a2148d13384710"></a><!-- doxytag: member="dods_data" ref="ae7466ed8496f06654ec276eac907c06aa81aaa5f03d4278cb44a2148d13384710" args="" -->dods_data</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aa742dd62797a6ff77549a1803a4e77d79"></a><!-- doxytag: member="dods_error" ref="ae7466ed8496f06654ec276eac907c06aa742dd62797a6ff77549a1803a4e77d79" args="" -->dods_error</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aaa4a8434126fdf1a42a77c74409973b54"></a><!-- doxytag: member="web_error" ref="ae7466ed8496f06654ec276eac907c06aaa4a8434126fdf1a42a77c74409973b54" args="" -->web_error</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aa605a335e5665d5f3ac75cacf42a15ae8"></a><!-- doxytag: member="dap4_ddx" ref="ae7466ed8496f06654ec276eac907c06aa605a335e5665d5f3ac75cacf42a15ae8" args="" -->dap4_ddx</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aa3024d0ef2b1d655dedba800665b7f513"></a><!-- doxytag: member="dap4_data" ref="ae7466ed8496f06654ec276eac907c06aa3024d0ef2b1d655dedba800665b7f513" args="" -->dap4_data</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aa4913b7492696bccacfb4fc84da0bceed"></a><!-- doxytag: member="dap4_error" ref="ae7466ed8496f06654ec276eac907c06aa4913b7492696bccacfb4fc84da0bceed" args="" -->dap4_error</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aae2070a684067288a7ad65cb671c73a26"></a><!-- doxytag: member="dap4_data_ddx" ref="ae7466ed8496f06654ec276eac907c06aae2070a684067288a7ad65cb671c73a26" args="" -->dap4_data_ddx</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae7466ed8496f06654ec276eac907c06aaf4dc265e5be5ab5584aa717cfd6ec6b9"></a><!-- doxytag: member="dods_ddx" ref="ae7466ed8496f06654ec276eac907c06aaf4dc265e5be5ab5584aa717cfd6ec6b9" args="" -->dods_ddx</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="ObjectType_8h_source.html#l00057">57</a> of file <a class="el" href="ObjectType_8h_source.html">ObjectType.h</a>.</p>

</div>
</div>
<a class="anchor" id="addcb1d714cdecb877c65ff6d2fde0695"></a><!-- doxytag: member="libdap::Part" ref="addcb1d714cdecb877c65ff6d2fde0695" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695">libdap::Part</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><b>Part</b> names the parts of multi-section constructor types. For example, the <b><a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a></b> class has an <em>array</em> and the array <em>maps</em>. Use the <code>nil</code> value for data types that don't have separate parts.</p>
<div class="fragment"><pre class="fragment">    <span class="keyword">enum</span> <a class="code" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695" title="Names the parts of multi-section constructor data types.">Part</a> {
    <a class="code" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695a86819e8da7d767f7c916c6b5da0feb6b">nil</a>,
    <a class="code" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695aed5453774cf1a62b2f92c0c70b989247">array</a>,
    <a class="code" href="namespacelibdap.html#addcb1d714cdecb877c65ff6d2fde0695aaa7dc708bd26f663a00ecf52a673da1b">maps</a>
    };
</pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> </dd>
<dd>
<a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="addcb1d714cdecb877c65ff6d2fde0695a86819e8da7d767f7c916c6b5da0feb6b"></a><!-- doxytag: member="nil" ref="addcb1d714cdecb877c65ff6d2fde0695a86819e8da7d767f7c916c6b5da0feb6b" args="" -->nil</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="addcb1d714cdecb877c65ff6d2fde0695aed5453774cf1a62b2f92c0c70b989247"></a><!-- doxytag: member="array" ref="addcb1d714cdecb877c65ff6d2fde0695aed5453774cf1a62b2f92c0c70b989247" args="" -->array</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="addcb1d714cdecb877c65ff6d2fde0695aaa7dc708bd26f663a00ecf52a673da1b"></a><!-- doxytag: member="maps" ref="addcb1d714cdecb877c65ff6d2fde0695aaa7dc708bd26f663a00ecf52a673da1b" args="" -->maps</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="BaseType_8h_source.html#l00098">98</a> of file <a class="el" href="BaseType_8h_source.html">BaseType.h</a>.</p>

</div>
</div>
<a class="anchor" id="a43ed56cf2d346b9ca13adf3829fb6757"></a><!-- doxytag: member="libdap::relop" ref="a43ed56cf2d346b9ca13adf3829fb6757" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacelibdap.html#a43ed56cf2d346b9ca13adf3829fb6757">libdap::relop</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a43ed56cf2d346b9ca13adf3829fb6757aa8e5c4916f3c340f2bd4f22d272cb164"></a><!-- doxytag: member="dods_nop_op" ref="a43ed56cf2d346b9ca13adf3829fb6757aa8e5c4916f3c340f2bd4f22d272cb164" args="" -->dods_nop_op</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a43ed56cf2d346b9ca13adf3829fb6757a8b4b62ef08f2e543f461ef4f519b4ff7"></a><!-- doxytag: member="dods_greater_op" ref="a43ed56cf2d346b9ca13adf3829fb6757a8b4b62ef08f2e543f461ef4f519b4ff7" args="" -->dods_greater_op</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a43ed56cf2d346b9ca13adf3829fb6757a78e7d0a03e0a6f15a5335fb85c08a327"></a><!-- doxytag: member="dods_greater_equal_op" ref="a43ed56cf2d346b9ca13adf3829fb6757a78e7d0a03e0a6f15a5335fb85c08a327" args="" -->dods_greater_equal_op</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a43ed56cf2d346b9ca13adf3829fb6757a8028088cfd3ffa11f219a78c5155d263"></a><!-- doxytag: member="dods_less_op" ref="a43ed56cf2d346b9ca13adf3829fb6757a8028088cfd3ffa11f219a78c5155d263" args="" -->dods_less_op</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a43ed56cf2d346b9ca13adf3829fb6757a6d8294078c5da7fd4aab6350b55f5dae"></a><!-- doxytag: member="dods_less_equal_op" ref="a43ed56cf2d346b9ca13adf3829fb6757a6d8294078c5da7fd4aab6350b55f5dae" args="" -->dods_less_equal_op</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a43ed56cf2d346b9ca13adf3829fb6757a6e5b83098bae549deb95a22af4ef3354"></a><!-- doxytag: member="dods_equal_op" ref="a43ed56cf2d346b9ca13adf3829fb6757a6e5b83098bae549deb95a22af4ef3354" args="" -->dods_equal_op</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a43ed56cf2d346b9ca13adf3829fb6757acb9f92535c4670fa5d97c4334b5764d2"></a><!-- doxytag: member="dods_not_equal_op" ref="a43ed56cf2d346b9ca13adf3829fb6757acb9f92535c4670fa5d97c4334b5764d2" args="" -->dods_not_equal_op</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="GSEClause_8h_source.html#l00056">56</a> of file <a class="el" href="GSEClause_8h_source.html">GSEClause.h</a>.</p>

</div>
</div>
<a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6"></a><!-- doxytag: member="libdap::Type" ref="a05ca706d4539ae7b750c3bc7066ab6e6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6">libdap::Type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><b>Type</b> identifies the data type stored in a particular type class. All the DODS Data Access Protocol (DAP) types inherit from the <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> class.</p>
<div class="fragment"><pre class="fragment">    <span class="keyword">enum</span> <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6" title="Identifies the data type.">Type</a> {
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6aa146d902a00eb7e9bb393f4e36bd07de">dods_null_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a4124790aeab42dbcd3d5303dea15b200">dods_byte_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a37d71c620b71be06fbe667e7cb0e80e4">dods_int16_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a84188f64695716d84cefe910704ca094">dods_uint16_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a524bfec434d0a8f82e06bfcc02c9a6b1">dods_int32_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a1bdeca4f415a3372b83448efd87bff83">dods_uint32_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a6aff4fd17f027d0f0c41423e2f74a68c">dods_float32_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a8661c9f9c227fe59b7f5563f20e145d6">dods_float64_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6ad620cef0bf41edebd4ee802071192a79">dods_str_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a64d653d09a50d6d17537c43ed217f665">dods_url_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6ada8f5df7bb2bc72327fcd16af811562f">dods_array_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6ad93eb0a69e67742f061966ce594b9a6c">dods_structure_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6a0b03707324b30e4a7c88876bbf8c7e3b">dods_sequence_c</a>,
    <a class="code" href="namespacelibdap.html#a05ca706d4539ae7b750c3bc7066ab6e6ac41525d2e860d3bcff641eb1fdba41d2">dods_grid_c</a>
    };
</pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6aa146d902a00eb7e9bb393f4e36bd07de"></a><!-- doxytag: member="dods_null_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6aa146d902a00eb7e9bb393f4e36bd07de" args="" -->dods_null_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a4124790aeab42dbcd3d5303dea15b200"></a><!-- doxytag: member="dods_byte_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a4124790aeab42dbcd3d5303dea15b200" args="" -->dods_byte_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a37d71c620b71be06fbe667e7cb0e80e4"></a><!-- doxytag: member="dods_int16_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a37d71c620b71be06fbe667e7cb0e80e4" args="" -->dods_int16_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a84188f64695716d84cefe910704ca094"></a><!-- doxytag: member="dods_uint16_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a84188f64695716d84cefe910704ca094" args="" -->dods_uint16_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a524bfec434d0a8f82e06bfcc02c9a6b1"></a><!-- doxytag: member="dods_int32_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a524bfec434d0a8f82e06bfcc02c9a6b1" args="" -->dods_int32_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a1bdeca4f415a3372b83448efd87bff83"></a><!-- doxytag: member="dods_uint32_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a1bdeca4f415a3372b83448efd87bff83" args="" -->dods_uint32_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a6aff4fd17f027d0f0c41423e2f74a68c"></a><!-- doxytag: member="dods_float32_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a6aff4fd17f027d0f0c41423e2f74a68c" args="" -->dods_float32_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a8661c9f9c227fe59b7f5563f20e145d6"></a><!-- doxytag: member="dods_float64_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a8661c9f9c227fe59b7f5563f20e145d6" args="" -->dods_float64_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6ad620cef0bf41edebd4ee802071192a79"></a><!-- doxytag: member="dods_str_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6ad620cef0bf41edebd4ee802071192a79" args="" -->dods_str_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a64d653d09a50d6d17537c43ed217f665"></a><!-- doxytag: member="dods_url_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a64d653d09a50d6d17537c43ed217f665" args="" -->dods_url_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6ada8f5df7bb2bc72327fcd16af811562f"></a><!-- doxytag: member="dods_array_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6ada8f5df7bb2bc72327fcd16af811562f" args="" -->dods_array_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6ad93eb0a69e67742f061966ce594b9a6c"></a><!-- doxytag: member="dods_structure_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6ad93eb0a69e67742f061966ce594b9a6c" args="" -->dods_structure_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6a0b03707324b30e4a7c88876bbf8c7e3b"></a><!-- doxytag: member="dods_sequence_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6a0b03707324b30e4a7c88876bbf8c7e3b" args="" -->dods_sequence_c</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a05ca706d4539ae7b750c3bc7066ab6e6ac41525d2e860d3bcff641eb1fdba41d2"></a><!-- doxytag: member="dods_grid_c" ref="a05ca706d4539ae7b750c3bc7066ab6e6ac41525d2e860d3bcff641eb1fdba41d2" args="" -->dods_grid_c</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="BaseType_8h_source.html#l00131">131</a> of file <a class="el" href="BaseType_8h_source.html">BaseType.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a385e0e3c04caef28126afb481f4867dd"></a><!-- doxytag: member="libdap::append_double_to_string" ref="a385e0e3c04caef28126afb481f4867dd" args="(const double &amp;num, string &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::append_double_to_string </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="util_8cc_source.html#l00448">448</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>Referenced by <a class="el" href="util_8cc_source.html#l00459">double_to_string()</a>.</p>

</div>
</div>
<a class="anchor" id="a576580781bca7dcd4b5a84cc06892aff"></a><!-- doxytag: member="libdap::append_long_to_string" ref="a576580781bca7dcd4b5a84cc06892aff" args="(long val, int base, string &amp;str_val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::append_long_to_string </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>str_val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="util_8cc_source.html#l00411">411</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>Referenced by <a class="el" href="InternalErr_8cc_source.html#l00069">libdap::InternalErr::InternalErr()</a>, <a class="el" href="util_8cc_source.html#l00440">long_to_string()</a>, and <a class="el" href="parser-util_8cc_source.html#l00094">parse_error()</a>.</p>

</div>
</div>
<a class="anchor" id="a30de006b7d3ba0b0ee8aca90d4648844"></a><!-- doxytag: member="libdap::append_rvalue_list" ref="a30de006b7d3ba0b0ee8aca90d4648844" args="(rvalue_list *rvals, rvalue *rv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacelibdap.html#a443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> * libdap::append_rvalue_list </td>
          <td>(</td>
          <td class="paramtype">rvalue_list *&#160;</td>
          <td class="paramname"><em>rvals</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rvalue *&#160;</td>
          <td class="paramname"><em>rv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="RValue_8cc_source.html#l00073">73</a> of file <a class="el" href="RValue_8cc_source.html">RValue.cc</a>.</p>

<p>Referenced by <a class="el" href="RValue_8cc_source.html#l00058">make_rvalue_list()</a>.</p>

</div>
</div>
<a class="anchor" id="a84d1b6bca4eb21023f90f7b4ae6f382b"></a><!-- doxytag: member="libdap::AttrType_to_String" ref="a84d1b6bca4eb21023f90f7b4ae6f382b" args="(const AttrType at)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::AttrType_to_String </td>
          <td>(</td>
          <td class="paramtype">const AttrType&#160;</td>
          <td class="paramname"><em>at</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Convert an AttrType to it's string representation. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">at</td><td>The Attribute Type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The type's string representation </dd></dl>

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00059">59</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#l00080">Attr_byte</a>, <a class="el" href="AttrTable_8h_source.html#l00079">Attr_container</a>, <a class="el" href="AttrTable_8h_source.html#l00085">Attr_float32</a>, <a class="el" href="AttrTable_8h_source.html#l00086">Attr_float64</a>, <a class="el" href="AttrTable_8h_source.html#l00081">Attr_int16</a>, <a class="el" href="AttrTable_8h_source.html#l00083">Attr_int32</a>, <a class="el" href="AttrTable_8h_source.html#l00089">Attr_other_xml</a>, <a class="el" href="AttrTable_8h_source.html#l00087">Attr_string</a>, <a class="el" href="AttrTable_8h_source.html#l00082">Attr_uint16</a>, <a class="el" href="AttrTable_8h_source.html#l00084">Attr_uint32</a>, and <a class="el" href="AttrTable_8h_source.html#l00088">Attr_url</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l01309">libdap::AttrTable::dump()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00728">libdap::AttrTable::get_type()</a>.</p>

</div>
</div>
<a class="anchor" id="a928b16257bc714971a2a3c91cb42d882"></a><!-- doxytag: member="libdap::build_btp_args" ref="a928b16257bc714971a2a3c91cb42d882" args="(rvalue_list *args, DDS &amp;dds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> ** libdap::build_btp_args </td>
          <td>(</td>
          <td class="paramtype">rvalue_list *&#160;</td>
          <td class="paramname"><em>args</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DDS &amp;&#160;</td>
          <td class="paramname"><em>dds</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Build an argument list suitable for calling a <code>btp_func</code>, <code>bool_func</code>, and so on. Since this takes an rvalue_list and not an rvalue, it is a function rather than a class member.</p>
<p>This function performs a common task but does not fit within the RValue class well. It is used by <a class="el" href="structlibdap_1_1Clause.html" title="Holds a fragment of a constraint expression.">Clause</a> and ce_expr.y.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">args</td><td>A list of RValue objects </td></tr>
    <tr><td class="paramname">dds</td><td>Use this <a class="el" href="classlibdap_1_1DDS.html">DDS</a> when evaluating functions </td></tr>
    <tr><td class="paramname">dataset</td><td>Use this when evaluating functions. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="RValue_8cc_source.html#l00093">93</a> of file <a class="el" href="RValue_8cc_source.html">RValue.cc</a>.</p>

<p>References <a class="el" href="util_8cc_source.html#l00440">long_to_string()</a>, <a class="el" href="Error_8h_source.html#l00064">malformed_expr</a>, and <a class="el" href="util_8cc_source.html#l00523">size_ok()</a>.</p>

<p>Referenced by <a class="el" href="RValue_8cc_source.html#l00160">libdap::rvalue::bvalue()</a>, and <a class="el" href="Clause_8cc_source.html#l00156">libdap::Clause::value()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a928b16257bc714971a2a3c91cb42d882_cgraph.png" border="0" usemap="#namespacelibdap_a928b16257bc714971a2a3c91cb42d882_cgraph" alt=""/></div>
<map name="namespacelibdap_a928b16257bc714971a2a3c91cb42d882_cgraph" id="namespacelibdap_a928b16257bc714971a2a3c91cb42d882_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="296,5,539,32"/><area shape="rect" id="node7" href="namespacelibdap.html#a36c4fc80766718669c9790c6cb20c895" title="sanitize the size of an array. Test for integer overflow when dynamically allocating an array..." alt="" coords="332,56,503,83"/><area shape="rect" id="node5" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="587,5,899,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a0dfd3ee0cedf2cdd4196e8a18f0b1292"></a><!-- doxytag: member="libdap::char2ASCII" ref="a0dfd3ee0cedf2cdd4196e8a18f0b1292" args="(string s, const string escape=&quot;%[0&#45;7][0&#45;9a&#45;fA&#45;F]&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::char2ASCII </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string&#160;</td>
          <td class="paramname"><em>escape</em> = <code>&quot;%[0-7][0-9a-fA-F]&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6159f969729b3625cfb42b97b76a29b6"></a><!-- doxytag: member="libdap::check_byte" ref="a6159f969729b3625cfb42b97b76a29b6" args="(const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::check_byte </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check to see if <code>val</code> is a valid byte value. If not, generate an error message using <code>parser_error()</code>. There are two versions of <code><a class="el" href="namespacelibdap.html#a6159f969729b3625cfb42b97b76a29b6" title="Is the value a valid byte?">check_byte()</a></code>, one which calls <code>parser_error()</code> and prints an error message to stderr an one which calls <code>parser_error()</code> and generates and <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns: True if <em>val</em> is a byte value, False otherwise. </dd></dl>

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00183">183</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="dods-limits_8h_source.html#l00039">DODS_SCHAR_MIN</a>, <a class="el" href="dods-limits_8h_source.html#l00041">DODS_UCHAR_MAX</a>, <a class="el" href="gse__parser_8h_source.html#l00037">FALSE</a>, and <a class="el" href="parser_8h_source.html#l00050">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="a8e3daffef90939dcbb46fb6f50b9a40e"></a><!-- doxytag: member="libdap::check_float32" ref="a8e3daffef90939dcbb46fb6f50b9a40e" args="(const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::check_float32 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Like <code><a class="el" href="namespacelibdap.html#a6159f969729b3625cfb42b97b76a29b6" title="Is the value a valid byte?">check_byte()</a></code> but for 64-bit float values. </p>

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00308">308</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="dods-limits_8h_source.html#l00062">DODS_FLT_MAX</a>, <a class="el" href="dods-limits_8h_source.html#l00063">DODS_FLT_MIN</a>, <a class="el" href="gse__parser_8h_source.html#l00037">FALSE</a>, and <a class="el" href="parser_8h_source.html#l00050">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="a0004b07014e0ece91b7f363e805ceca1"></a><!-- doxytag: member="libdap::check_float64" ref="a0004b07014e0ece91b7f363e805ceca1" args="(const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::check_float64 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00341">341</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="dods-limits_8h_source.html#l00057">DODS_DBL_MAX</a>, <a class="el" href="dods-limits_8h_source.html#l00059">DODS_DBL_MIN</a>, <a class="el" href="gse__parser_8h_source.html#l00037">FALSE</a>, and <a class="el" href="parser_8h_source.html#l00050">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="a78501bb2d0a23568042d59281ed27072"></a><!-- doxytag: member="libdap::check_int16" ref="a78501bb2d0a23568042d59281ed27072" args="(const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::check_int16 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Like <code><a class="el" href="namespacelibdap.html#a6159f969729b3625cfb42b97b76a29b6" title="Is the value a valid byte?">check_byte()</a></code> but for 32-bit integers (<code>check_uint()</code> is for unsigned integers). </p>

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00209">209</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="dods-limits_8h_source.html#l00045">DODS_SHRT_MAX</a>, <a class="el" href="dods-limits_8h_source.html#l00044">DODS_SHRT_MIN</a>, <a class="el" href="gse__parser_8h_source.html#l00037">FALSE</a>, and <a class="el" href="parser_8h_source.html#l00050">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="aa9db83b431346800f838b089fafb0066"></a><!-- doxytag: member="libdap::check_int32" ref="aa9db83b431346800f838b089fafb0066" args="(const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::check_int32 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00241">241</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="dods-limits_8h_source.html#l00049">DODS_INT_MAX</a>, <a class="el" href="dods-limits_8h_source.html#l00048">DODS_INT_MIN</a>, <a class="el" href="gse__parser_8h_source.html#l00037">FALSE</a>, and <a class="el" href="parser_8h_source.html#l00050">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="a179d079ad6ee351b8944f44059e3e797"></a><!-- doxytag: member="libdap::check_uint16" ref="a179d079ad6ee351b8944f44059e3e797" args="(const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::check_uint16 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00225">225</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="dods-limits_8h_source.html#l00046">DODS_USHRT_MAX</a>, <a class="el" href="gse__parser_8h_source.html#l00037">FALSE</a>, and <a class="el" href="parser_8h_source.html#l00050">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="a754cae6f64ff4052f6e694184a68938c"></a><!-- doxytag: member="libdap::check_uint32" ref="a754cae6f64ff4052f6e694184a68938c" args="(const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::check_uint32 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00269">269</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="dods-limits_8h_source.html#l00050">DODS_UINT_MAX</a>, <a class="el" href="gse__parser_8h_source.html#l00037">FALSE</a>, and <a class="el" href="parser_8h_source.html#l00050">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="a0e96bac2251d066910b2647830b6959c"></a><!-- doxytag: member="libdap::check_url" ref="a0e96bac2251d066910b2647830b6959c" args="(const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::check_url </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Currently this function always returns true. </p>

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00378">378</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="parser_8h_source.html#l00050">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="a6267c527b6792dccd24212308645026f"></a><!-- doxytag: member="libdap::cid_to_header_value" ref="a6267c527b6792dccd24212308645026f" args="(const string &amp;cid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::cid_to_header_value </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>cid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a Content-Id read from the DDX, return the value to look for in a MPM Content-Id header. This function downcases the CID to match the value returned by parse_mime_header. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">cid</td><td>The Content-Id read from the DDX </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The header value to look for. </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 CID does not start with the string "cid:" </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00872">872</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="util_8cc_source.html#l00367">downcase()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a9696b8596e7a5858d494e8a8d7d082c1"></a><!-- doxytag: member="libdap::close_temp" ref="a9696b8596e7a5858d494e8a8d7d082c1" args="(FILE *s, const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::close_temp </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>s</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Close the temporary file opened for read_url(). </p>

<p>Definition at line <a class="el" href="HTTPConnect_8cc_source.html#l00718">718</a> of file <a class="el" href="HTTPConnect_8cc_source.html">HTTPConnect.cc</a>.</p>

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

<p>Referenced by <a class="el" href="HTTPResponse_8h_source.html#l00107">libdap::HTTPResponse::~HTTPResponse()</a>.</p>

</div>
</div>
<a class="anchor" id="acd1d919406377c736eb8ad51933c2cd0"></a><!-- doxytag: member="libdap::compressor" ref="acd1d919406377c736eb8ad51933c2cd0" args="(FILE *output, int &amp;childpid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FILE* libdap::compressor </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>childpid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l01016">libdap::DODSFilter::send_data()</a>.</p>

</div>
</div>
<a class="anchor" id="affccb78f3a718e01f5fac17b682430d1"></a><!-- doxytag: member="libdap::dap_version" ref="affccb78f3a718e01f5fac17b682430d1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::dap_version </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the version of the DAP library. </p>

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

<p>References <a class="el" href="util_8cc_source.html#l00175">libdap_version()</a>.</p>

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

</div>
</div>
<a class="anchor" id="ab9983dcf36d072b24f4ecee5558d790a"></a><!-- doxytag: member="libdap::date_time_str" ref="ab9983dcf36d072b24f4ecee5558d790a" args="(time_t *calendar, bool local)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::date_time_str </td>
          <td>(</td>
          <td class="paramtype">time_t *&#160;</td>
          <td class="paramname"><em>calendar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>local</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a time in seconds since midnight 1 Jan 1970, return the RFC 1123 date string. Example result string: Sun, 06 Nov 1994 08:49:37 GMT</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">calendar</td><td>Time in seconds </td></tr>
    <tr><td class="paramname">local</td><td>If true, return the local time, if false return GMT. The default value is false. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A RFC 1123 date string. </dd></dl>

<p>Definition at line <a class="el" href="util__mit_8cc_source.html#l00284">284</a> of file <a class="el" href="util__mit_8cc_source.html">util_mit.cc</a>.</p>

<p>Referenced by <a class="el" href="HTTPCache_8cc_source.html#l01234">libdap::HTTPCache::get_conditional_request_headers()</a>.</p>

</div>
</div>
<a class="anchor" id="a27871bfdfbe3fda3db0d2d8e5966d771"></a><!-- doxytag: member="libdap::deflate_exists" ref="a27871bfdfbe3fda3db0d2d8e5966d771" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::deflate_exists </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7e95f81049cb65e60edcc5ec41d445d7"></a><!-- doxytag: member="libdap::do_version" ref="a7e95f81049cb65e60edcc5ec41d445d7" args="(const string &amp;script_ver, const string &amp;dataset_ver)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::do_version </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>script_ver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>dataset_ver</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This sends a formatted block of text to the client, containing version information about various aspects of the server. The arguments allow you to enclose version information about the filter program and the dataset in the message. Either argument (or both) may be omitted, in which case no script or dataset version information will be printed.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">script_ver</td><td>The version of the filter script executing this function. </td></tr>
    <tr><td class="paramname">dataset_ver</td><td>The version of the dataset. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE for success. Always returns true. </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00109">109</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, <a class="el" href="config_8h_source.html#l00037">DAP_PROTOCOL_VERSION</a>, and <a class="el" href="config_8h_source.html#l00067">DVR</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l00678">libdap::DODSFilter::send_version_info()</a>.</p>

</div>
</div>
<a class="anchor" id="aa82de3f91e281e1866adf5fa78966fa0"></a><!-- doxytag: member="libdap::dods_max" ref="aa82de3f91e281e1866adf5fa78966fa0" args="(int i1, int i2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned libdap::dods_max </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Operators_8h_source.html#l00050">50</a> of file <a class="el" href="Operators_8h_source.html">Operators.h</a>.</p>

<p>Referenced by <a class="el" href="Operators_8h_source.html#l00153">libdap::SUCmp&lt; T1, UT2 &gt;::eq()</a>, <a class="el" href="Operators_8h_source.html#l00107">libdap::USCmp&lt; UT1, T2 &gt;::eq()</a>, <a class="el" href="Operators_8h_source.html#l00165">libdap::SUCmp&lt; T1, UT2 &gt;::ge()</a>, <a class="el" href="Operators_8h_source.html#l00119">libdap::USCmp&lt; UT1, T2 &gt;::ge()</a>, <a class="el" href="Operators_8h_source.html#l00161">libdap::SUCmp&lt; T1, UT2 &gt;::gr()</a>, <a class="el" href="Operators_8h_source.html#l00115">libdap::USCmp&lt; UT1, T2 &gt;::gr()</a>, <a class="el" href="Operators_8h_source.html#l00173">libdap::SUCmp&lt; T1, UT2 &gt;::le()</a>, <a class="el" href="Operators_8h_source.html#l00127">libdap::USCmp&lt; UT1, T2 &gt;::le()</a>, <a class="el" href="Operators_8h_source.html#l00169">libdap::SUCmp&lt; T1, UT2 &gt;::lt()</a>, <a class="el" href="Operators_8h_source.html#l00123">libdap::USCmp&lt; UT1, T2 &gt;::lt()</a>, <a class="el" href="Operators_8h_source.html#l00157">libdap::SUCmp&lt; T1, UT2 &gt;::ne()</a>, and <a class="el" href="Operators_8h_source.html#l00111">libdap::USCmp&lt; UT1, T2 &gt;::ne()</a>.</p>

</div>
</div>
<a class="anchor" id="a244eda6b9036d2d728649ebfa1b9609b"></a><!-- doxytag: member="libdap::dods_progress" ref="a244eda6b9036d2d728649ebfa1b9609b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* libdap::dods_progress </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7e55035aed27d6e56f7219405c803628"></a><!-- doxytag: member="libdap::double_eq" ref="a7e55035aed27d6e56f7219405c803628" args="(double lhs, double rhs, double epsilon=1.0e&#45;5)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::double_eq </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>rhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>epsilon</em> = <code>1.0e-5</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is <em>lhs</em> equal to <em>rhs</em>? Use epsilon to determine equality. </p>

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l00102">102</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l00785">function_linear_scale()</a>.</p>

</div>
</div>
<a class="anchor" id="a7c3f898946a0ae498f4ca830731cc474"></a><!-- doxytag: member="libdap::double_to_string" ref="a7c3f898946a0ae498f4ca830731cc474" args="(const double &amp;num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::double_to_string </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="util_8cc_source.html#l00459">459</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>References <a class="el" href="util_8cc_source.html#l00448">append_double_to_string()</a>.</p>

<p>Referenced by <a class="el" href="GeoConstraint_8cc_source.html#l00207">libdap::GeoConstraint::find_longitude_indeces()</a>, and <a class="el" href="GeoConstraint_8cc_source.html#l00594">libdap::GeoConstraint::set_bounding_box()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a7edce266869606fc7bb46124f8d63809"></a><!-- doxytag: member="libdap::downcase" ref="a7edce266869606fc7bb46124f8d63809" args="(string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::downcase </td>
          <td>(</td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="util_8cc_source.html#l00367">367</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>Referenced by <a class="el" href="mime__util_8cc_source.html#l00872">cid_to_header_value()</a>, <a class="el" href="parser-util_8cc_source.html#l00175">is_keyword()</a>, <a class="el" href="mime__util_8cc_source.html#l00758">parse_mime_header()</a>, and <a class="el" href="AttrTable_8cc_source.html#l00089">String_to_AttrType()</a>.</p>

</div>
</div>
<a class="anchor" id="ac76ab0ba8dd2e6d2db8e4d07175ea266"></a><!-- doxytag: member="libdap::ErrMsgT" ref="ac76ab0ba8dd2e6d2db8e4d07175ea266" args="(const string &amp;Msgt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ErrMsgT </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>Msgt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Prints an error message in the <code>httpd</code> system log file, along with a time stamp and the client host name (or address).</p>
<p>Use this instead of the functions in liberrmsg.a in the programs run by the CGIs to report errors so those errors show up in HTTPD's log files.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00141">141</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l00664">libdap::DODSFilter::print_usage()</a>.</p>

</div>
</div>
<a class="anchor" id="a164a636683af9444c41c17c84d88e5f7"></a><!-- doxytag: member="libdap::esc2underscore" ref="a164a636683af9444c41c17c84d88e5f7" args="(string s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::esc2underscore </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return a string that has all the <code>%&lt;hex</code> digit&gt;&lt;hex digit&gt; sequences replaced with underscores (`_').</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The string to transform </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The modified string. </dd></dl>

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00348">348</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

</div>
</div>
<a class="anchor" id="aa26bd967ca156771d2bd79db8bd3a91f"></a><!-- doxytag: member="libdap::escape_double_quotes" ref="aa26bd967ca156771d2bd79db8bd3a91f" args="(string source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::escape_double_quotes </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>source</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Rip through a string and replace all the double quotes with " sequences. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">source</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>result </dd></dl>

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00464">464</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a17b72fe083734a5fefaf5542f640d87e"></a><!-- doxytag: member="libdap::escattr" ref="a17b72fe083734a5fefaf5542f640d87e" args="(string s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::escattr </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Escape non-printable characters and quotes from an HDF attribute. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The attribute to modify. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The modified attribute. </dd></dl>

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00362">362</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

<p>References <a class="el" href="escaping_8cc_source.html#l00101">octstring()</a>.</p>

<p>Referenced by <a class="el" href="Str_8cc_source.html#l00254">libdap::Str::print_val()</a>.</p>

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

</div>
</div>
<a class="anchor" id="ae9717ce6442b4909dcd7add356a7ff88"></a><!-- doxytag: member="libdap::extract_double_array" ref="ae9717ce6442b4909dcd7add356a7ff88" args="(Array *a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double * libdap::extract_double_array </td>
          <td>(</td>
          <td class="paramtype">Array *&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a pointer to an <a class="el" href="classlibdap_1_1Array.html" title="A multidimensional array of identical data types.">Array</a> which holds a numeric type, extract the values and return in an array of doubles. This function allocates the array using 'new double[n]' so delete[] can be used when you are done the data. </p>

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

<p>References <a class="el" href="BaseType_8h_source.html#l00142">dods_array_c</a>, <a class="el" href="BaseType_8h_source.html#l00133">dods_byte_c</a>, <a class="el" href="BaseType_8h_source.html#l00138">dods_float32_c</a>, <a class="el" href="BaseType_8h_source.html#l00139">dods_float64_c</a>, <a class="el" href="BaseType_8h_source.html#l00134">dods_int16_c</a>, <a class="el" href="BaseType_8h_source.html#l00136">dods_int32_c</a>, <a class="el" href="BaseType_8h_source.html#l00140">dods_str_c</a>, <a class="el" href="BaseType_8h_source.html#l00135">dods_uint16_c</a>, <a class="el" href="BaseType_8h_source.html#l00137">dods_uint32_c</a>, <a class="el" href="BaseType_8h_source.html#l00141">dods_url_c</a>, <a class="el" href="BaseType_8cc_source.html#l00295">libdap::BaseType::is_simple_type()</a>, <a class="el" href="Error_8h_source.html#l00064">malformed_expr</a>, <a class="el" href="BaseType_8cc_source.html#l00210">libdap::BaseType::name()</a>, <a class="el" href="BaseType_8cc_source.html#l00444">libdap::BaseType::read_p()</a>, <a class="el" href="BaseType_8cc_source.html#l00238">libdap::BaseType::type()</a>, and <a class="el" href="Vector_8cc_source.html#l00383">libdap::Vector::var()</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l00785">function_linear_scale()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_ae9717ce6442b4909dcd7add356a7ff88_cgraph.png" border="0" usemap="#namespacelibdap_ae9717ce6442b4909dcd7add356a7ff88_cgraph" alt=""/></div>
<map name="namespacelibdap_ae9717ce6442b4909dcd7add356a7ff88_cgraph" id="namespacelibdap_ae9717ce6442b4909dcd7add356a7ff88_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1BaseType.html#a614ce462dc6236791630f373bf75ad49" title="Returns true if the instance is a numeric, string or URL type variable." alt="" coords="359,5,700,32"/><area shape="rect" id="node5" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="1189,56,1432,83"/><area shape="rect" id="node7" href="classlibdap_1_1BaseType.html#a0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="824,107,1067,133"/><area shape="rect" id="node9" href="classlibdap_1_1BaseType.html#a38ff819a432217c55db2e9071928d20c" title="Has this variable been read?" alt="" coords="399,157,660,184"/><area shape="rect" id="node12" href="classlibdap_1_1Vector.html#aa5ccb30d1f27ae587f35216b859feec7" title="libdap::Vector::var" alt="" coords="424,208,635,235"/><area shape="rect" id="node14" href="classlibdap_1_1BaseType.html#a9eb6cae7f3490723180131345c85cfc7" title="Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable..." alt="" coords="749,157,1141,184"/><area shape="rect" id="node18" href="classlibdap_1_1BaseType.html#a4dc4fac1bb6083f6db645f37bfd59b85" title="Returns a pointer to a member of a constructor class." alt="" coords="829,208,1061,235"/><area shape="rect" id="node20" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="864,259,1027,285"/><area shape="rect" id="node22" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1205,259,1416,285"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a3c8b08223f4ea1841cf82dfc743a0d3a"></a><!-- doxytag: member="libdap::extract_double_value" ref="a3c8b08223f4ea1841cf82dfc743a0d3a" args="(BaseType *arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double libdap::extract_double_value </td>
          <td>(</td>
          <td class="paramtype">BaseType *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> pointer, extract the numeric value it contains and return it in a C++ double.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">arg</td><td>The <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A C++ double </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>thrown if the referenced <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> object does not contain a DAP numeric value. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l00284">284</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>References <a class="el" href="BaseType_8h_source.html#l00133">dods_byte_c</a>, <a class="el" href="BaseType_8h_source.html#l00138">dods_float32_c</a>, <a class="el" href="BaseType_8h_source.html#l00139">dods_float64_c</a>, <a class="el" href="BaseType_8h_source.html#l00134">dods_int16_c</a>, <a class="el" href="BaseType_8h_source.html#l00136">dods_int32_c</a>, <a class="el" href="BaseType_8h_source.html#l00140">dods_str_c</a>, <a class="el" href="BaseType_8h_source.html#l00135">dods_uint16_c</a>, <a class="el" href="BaseType_8h_source.html#l00137">dods_uint32_c</a>, <a class="el" href="BaseType_8h_source.html#l00141">dods_url_c</a>, <a class="el" href="BaseType_8cc_source.html#l00295">libdap::BaseType::is_simple_type()</a>, <a class="el" href="Error_8h_source.html#l00064">malformed_expr</a>, <a class="el" href="BaseType_8cc_source.html#l00444">libdap::BaseType::read_p()</a>, <a class="el" href="BaseType_8cc_source.html#l00238">libdap::BaseType::type()</a>, <a class="el" href="Float64_8cc_source.html#l00193">libdap::Float64::value()</a>, <a class="el" href="Float32_8cc_source.html#l00201">libdap::Float32::value()</a>, <a class="el" href="Int32_8cc_source.html#l00190">libdap::Int32::value()</a>, <a class="el" href="UInt32_8cc_source.html#l00183">libdap::UInt32::value()</a>, <a class="el" href="Int16_8cc_source.html#l00179">libdap::Int16::value()</a>, <a class="el" href="UInt16_8cc_source.html#l00181">libdap::UInt16::value()</a>, and <a class="el" href="Byte_8cc_source.html#l00210">libdap::Byte::value()</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l00545">function_geogrid()</a>, and <a class="el" href="ce__functions_8cc_source.html#l00785">function_linear_scale()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a3c8b08223f4ea1841cf82dfc743a0d3a_cgraph.png" border="0" usemap="#namespacelibdap_a3c8b08223f4ea1841cf82dfc743a0d3a_cgraph" alt=""/></div>
<map name="namespacelibdap_a3c8b08223f4ea1841cf82dfc743a0d3a_cgraph" id="namespacelibdap_a3c8b08223f4ea1841cf82dfc743a0d3a_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1BaseType.html#a614ce462dc6236791630f373bf75ad49" title="Returns true if the instance is a numeric, string or URL type variable." alt="" coords="359,5,700,32"/><area shape="rect" id="node5" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="749,31,992,57"/><area shape="rect" id="node7" href="classlibdap_1_1BaseType.html#a38ff819a432217c55db2e9071928d20c" title="Has this variable been read?" alt="" coords="399,107,660,133"/><area shape="rect" id="node10" href="classlibdap_1_1Float64.html#addf858aa9535d32f638c4e65a4b33256" title="libdap::Float64::value" alt="" coords="408,157,651,184"/><area shape="rect" id="node12" href="classlibdap_1_1Float32.html#a7371bd4111884f04d2e93039312153a4" title="libdap::Float32::value" alt="" coords="408,208,651,235"/><area shape="rect" id="node14" href="classlibdap_1_1Int32.html#a10a0268d3d1ed42fbab3ca92ec8e7ea5" title="libdap::Int32::value" alt="" coords="419,259,640,285"/><area shape="rect" id="node16" href="classlibdap_1_1UInt32.html#aa7edf19a8c055d574466ae4e901c1936" title="libdap::UInt32::value" alt="" coords="413,309,645,336"/><area shape="rect" id="node18" href="classlibdap_1_1Int16.html#af9373c11c553ad22baafebb69f35ed37" title="libdap::Int16::value" alt="" coords="419,360,640,387"/><area shape="rect" id="node20" href="classlibdap_1_1UInt16.html#a9cc3d2c1a8b4abb67096e78f2c3ecbda" title="libdap::UInt16::value" alt="" coords="413,411,645,437"/><area shape="rect" id="node22" href="classlibdap_1_1Byte.html#afcb7d879a5a0185d39518ff0fcc10afd" title="libdap::Byte::value" alt="" coords="424,461,635,488"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aca7eee077ab6dadb25126a92cf82737a"></a><!-- doxytag: member="libdap::extract_string_argument" ref="aca7eee077ab6dadb25126a92cf82737a" args="(BaseType *arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::extract_string_argument </td>
          <td>(</td>
          <td class="paramtype">BaseType *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> pointer, extract the string value it contains and return it.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">arg</td><td>The <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A C++ string </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>thrown if the referenced <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> object does not contain a DAP String. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l00117">117</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="BaseType_8h_source.html#l00140">dods_str_c</a>, <a class="el" href="Error_8h_source.html#l00064">malformed_expr</a>, <a class="el" href="BaseType_8cc_source.html#l00444">libdap::BaseType::read_p()</a>, <a class="el" href="BaseType_8cc_source.html#l00238">libdap::BaseType::type()</a>, and <a class="el" href="Str_8cc_source.html#l00235">libdap::Str::value()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_aca7eee077ab6dadb25126a92cf82737a_cgraph.png" border="0" usemap="#namespacelibdap_aca7eee077ab6dadb25126a92cf82737a_cgraph" alt=""/></div>
<map name="namespacelibdap_aca7eee077ab6dadb25126a92cf82737a_cgraph" id="namespacelibdap_aca7eee077ab6dadb25126a92cf82737a_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1BaseType.html#a38ff819a432217c55db2e9071928d20c" title="Has this variable been read?" alt="" coords="388,5,649,32"/><area shape="rect" id="node5" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="397,56,640,83"/><area shape="rect" id="node7" href="classlibdap_1_1Str.html#ad1c8898d979786da1699677c04264aa1" title="libdap::Str::value" alt="" coords="417,107,620,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aed6073fcecd8d82a616f4d2de9a8e591"></a><!-- doxytag: member="libdap::file_to_string" ref="aed6073fcecd8d82a616f4d2de9a8e591" args="(FILE *fp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::file_to_string </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read stuff from a file and dump it into a string. This assumes the file holds character data only. Intended for testing... </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fp</td><td>Read from this file </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a string which holds the character data. </dd></dl>

<p>Definition at line <a class="el" href="util_8cc_source.html#l00504">504</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a505f2ae07c56035f983661b3fbe927a0"></a><!-- doxytag: member="libdap::found_override" ref="a505f2ae07c56035f983661b3fbe927a0" args="(string name, string &amp;doc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::found_override </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>doc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Look for the override file by taking the dataset name and appending `.ovr' to it. If such a file exists, then read it in and store the contents in <code>doc</code>. Note that the file contents are not checked to see if they are valid HTML (which they must be).</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the `override file' is present, false otherwise. in the later case <code>doc</code>'s contents are undefined. </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00983">983</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ac840c421a3cc8efe7f9370c7466b2bc7"></a><!-- doxytag: member="libdap::func_version" ref="ac840c421a3cc8efe7f9370c7466b2bc7" args="(int argc, BaseType *argv[], DDS &amp;dds, BaseType **btpp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::func_version </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType *&#160;</td>
          <td class="paramname"><em>argv</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DDS &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType **&#160;</td>
          <td class="paramname"><em>btpp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abd2a0e965db0ed47f0206b4c646d9edd"></a><!-- doxytag: member="libdap::function_geoarray" ref="abd2a0e965db0ed47f0206b4c646d9edd" args="(int argc, BaseType *argv[], DDS &amp;dds, BaseType **btpp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::function_geoarray </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType *&#160;</td>
          <td class="paramname"><em>argv</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DDS &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType **&#160;</td>
          <td class="paramname"><em>btpp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l01030">register_functions()</a>.</p>

</div>
</div>
<a class="anchor" id="a97ebb2cf77302bf3dda2934593964ec4"></a><!-- doxytag: member="libdap::function_geogrid" ref="a97ebb2cf77302bf3dda2934593964ec4" args="(int argc, BaseType *argv[], DDS &amp;, BaseType **btpp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::function_geogrid </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType *&#160;</td>
          <td class="paramname"><em>argv</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DDS &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType **&#160;</td>
          <td class="paramname"><em>btpp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The geogrid function returns the part of a <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> which includes a geographically specified rectangle. The arguments to the function are the name of a <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>, the left-top and right-bottom points of the rectangle and zero or more relational expressions of the sort that the grid function accepts. The constraints on the arguments are:</p>
<ul>
<li>
The <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> must have Latitude and Longitude map vectors. Those are discovered by looking for map vectors which satisfy enough of any one of a set of conventions to make the identification of those map vectors positive or by guessing which maps are which. The set of conventions supported is: COARDS, CF 1.0, GDT and CSC (see <a href="http://www.unidata.ucar.edu/software/netcdf/conventions.html">http://www.unidata.ucar.edu/software/netcdf/conventions.html</a>). If the geogrid guesses at the maps, it adds an attribute (geogrid_warning) which says so. (in version 1.1) </li>
<li>
The rectangle corner points are in Longitude-Latitude. Longitude may be given using -180 to 180 or 0 to 360. For data sources with global coverage, geogrid assumes that the Longitude axis is circular. For requests made using 0/359 notation, it assumes it is modulus 360. Requests made using -180/179 notation cannot use values outside that range. </li>
<li>
The notation used to specify the rectangular region determines the notation used in the longitude/latitude map vectors of the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> returned by the function. </li>
<li>
There are no restrictions on the relational expressions beyond those for the grid() (see func_grid_select()) function. </li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd>The geogrid() function is implemented as a 'BaseType function' which means that there can be only one function per request and no other variables may be named in the request.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>The number of values in argv. </td></tr>
    <tr><td class="paramname">argv</td><td>An array of <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> pointers which hold the arguments to be passed to geogrid. The arguments may be Strings, Integers, or Reals, subject to the above constraints. </td></tr>
    <tr><td class="paramname">dds</td><td>The <a class="el" href="classlibdap_1_1DDS.html">DDS</a> which holds the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>. This <a class="el" href="classlibdap_1_1DDS.html">DDS</a> <em>must</em> include attributes. </td></tr>
    <tr><td class="paramname">dataset</td><td>Name of the dataset. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The constrained and read <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>, ready to be sent. </dd></dl>

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l00545">545</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>References <a class="el" href="GridGeoConstraint_8cc_source.html#l00278">libdap::GridGeoConstraint::apply_constraint_to_data()</a>, <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="ce__functions_8cc_source.html#l00284">extract_double_value()</a>, <a class="el" href="Grid_8cc_source.html#l00528">libdap::Grid::get_array()</a>, <a class="el" href="GridGeoConstraint_8h_source.html#l00077">libdap::GridGeoConstraint::get_constrained_grid()</a>, <a class="el" href="gse__parser_8h_source.html#l00062">libdap::gse_arg::get_gsec()</a>, <a class="el" href="Error_8h_source.html#l00064">malformed_expr</a>, <a class="el" href="Grid_8cc_source.html#l00539">libdap::Grid::map_begin()</a>, <a class="el" href="Grid_8cc_source.html#l00547">libdap::Grid::map_end()</a>, <a class="el" href="classlibdap_1_1BaseType.html#a0b130311c9901fb8a7ab11ea19090ef0">libdap::BaseType::ptr_duplicate()</a>, <a class="el" href="BaseType_8cc_source.html#l00790">libdap::BaseType::read()</a>, <a class="el" href="GeoConstraint_8cc_source.html#l00594">libdap::GeoConstraint::set_bounding_box()</a>, <a class="el" href="Vector_8cc_source.html#l00358">libdap::Vector::set_read_p()</a>, and <a class="el" href="Str_8cc_source.html#l00224">libdap::Str::set_value()</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l01030">register_functions()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a97ebb2cf77302bf3dda2934593964ec4_cgraph.png" border="0" usemap="#namespacelibdap_a97ebb2cf77302bf3dda2934593964ec4_cgraph" alt=""/></div>
<map name="namespacelibdap_a97ebb2cf77302bf3dda2934593964ec4_cgraph" id="namespacelibdap_a97ebb2cf77302bf3dda2934593964ec4_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1GridGeoConstraint.html#affdc6145014a519bef4874d14716b3cf" title="libdap::GridGeoConstraint::apply_constraint_to_data" alt="" coords="319,962,849,989"/><area shape="rect" id="node11" href="classlibdap_1_1BaseType.html#a1da003c53f2e663223f603ab3fbd7c8e" title="Read data into a local buffer." alt="" coords="1640,253,1883,279"/><area shape="rect" id="node13" href="classlibdap_1_1Grid.html#a905ac86a44a9d8ce576056ba244cf558" title="Returns the Grid Array. This method returns the array using an Array*, so no cast is required..." alt="" coords="1095,177,1345,203"/><area shape="rect" id="node43" href="classlibdap_1_1Grid.html#a2e9d2e436c0ff138a977dbba54c018eb" title="Returns an iterator referencing the first Map vector." alt="" coords="1095,1697,1345,1723"/><area shape="rect" id="node45" href="classlibdap_1_1Grid.html#aaebbf2a5329ec01b6527b4bafde87837" title="libdap::Grid::map_end" alt="" coords="1104,1747,1336,1774"/><area shape="rect" id="node52" href="classlibdap_1_1Vector.html#a58712de8871e28a48fdc95e72a09df71" title="Indicates that the data is ready to send." alt="" coords="1620,633,1903,659"/><area shape="rect" id="node81" href="namespacelibdap.html#a3c8b08223f4ea1841cf82dfc743a0d3a" title="libdap::extract_double_value" alt="" coords="1069,1798,1371,1825"/><area shape="rect" id="node100" href="classlibdap_1_1GridGeoConstraint.html#a712d428422dd23582291ba1ad13137dd" title="libdap::GridGeoConstraint::get_constrained_grid" alt="" coords="339,1165,829,1191"/><area shape="rect" id="node102" href="structlibdap_1_1gse__arg.html#a63b69a5efec365819548d800d29b7a2a" title="libdap::gse_arg::get_gsec" alt="" coords="448,1215,720,1242"/><area shape="rect" id="node106" href="classlibdap_1_1BaseType.html#a0b130311c9901fb8a7ab11ea19090ef0" title="libdap::BaseType::ptr_duplicate" alt="" coords="419,1266,749,1293"/><area shape="rect" id="node109" href="classlibdap_1_1GeoConstraint.html#a971205af9b456f4594f01aa513b6543c" title="libdap::GeoConstraint::set_bounding_box" alt="" coords="379,1317,789,1343"/><area shape="rect" id="node112" href="classlibdap_1_1Str.html#ac4083a612e46a9ef2d1cddc2d40a955f" title="libdap::Str::set_value" alt="" coords="463,1367,705,1394"/><area shape="rect" id="node5" href="classlibdap_1_1Array.html#a538f7c336e26b873f50e033d553bba26" title="Adds a constraint to an Array dimension." alt="" coords="1605,886,1917,913"/><area shape="rect" id="node7" href="classlibdap_1_1Array.html#ae6e6943cd895fa8dc1c58621ffad42a0" title="libdap::Array::dim_begin" alt="" coords="1089,1443,1351,1470"/><area shape="rect" id="node9" href="classlibdap_1_1GeoConstraint.html#a74bb5010981355c8d688a2fd77613f80" title="libdap::GeoConstraint::flip_latitude_within_array" alt="" coords="964,227,1476,254"/><area shape="rect" id="node15" href="classlibdap_1_1GeoConstraint.html#a05febc86a7353548656d76cbe659d4ed" title="libdap::GeoConstraint::get_array_data" alt="" coords="1024,1494,1416,1521"/><area shape="rect" id="node17" href="classlibdap_1_1GeoConstraint.html#a93b13c51f03265b77c26c639253eb84c" title="libdap::GeoConstraint::get_array_data_size" alt="" coords="999,1545,1441,1571"/><area shape="rect" id="node19" href="classlibdap_1_1GeoConstraint.html#ae1606e5fc999c32610a2ae2d60205a81" title="libdap::GeoConstraint::get_lat" alt="" coords="1059,1595,1381,1622"/><area shape="rect" id="node21" href="classlibdap_1_1GeoConstraint.html#a19dbb0b321d3e195a39dc086cacdfc53" title="libdap::GeoConstraint::get_lat_dim" alt="" coords="1039,329,1401,355"/><area shape="rect" id="node23" href="classlibdap_1_1GeoConstraint.html#a3f924c14bc89937c3db0b141f873b238" title="libdap::GeoConstraint::get_latitude_index_bottom" alt="" coords="969,379,1471,406"/><area shape="rect" id="node25" href="classlibdap_1_1GeoConstraint.html#ae0593d431954560825dcd96ded2141a7" title="libdap::GeoConstraint::get_latitude_index_top" alt="" coords="984,430,1456,457"/><area shape="rect" id="node27" href="classlibdap_1_1GeoConstraint.html#ac2f5c3f3e098c91f23e194fe7b775af8" title="libdap::GeoConstraint::get_latitude_sense" alt="" coords="1004,481,1436,507"/><area shape="rect" id="node29" href="classlibdap_1_1GeoConstraint.html#a695f79c26e7eef89c380788d3c1d5507" title="libdap::GeoConstraint::get_lon" alt="" coords="1059,531,1381,558"/><area shape="rect" id="node31" href="classlibdap_1_1GeoConstraint.html#a5eee5cc9788b429e77bfde9f10bfe751" title="libdap::GeoConstraint::get_lon_dim" alt="" coords="1039,582,1401,609"/><area shape="rect" id="node33" href="classlibdap_1_1GeoConstraint.html#a505eb309753eabe0c6a5bb3d412a3579" title="libdap::GeoConstraint::get_lon_length" alt="" coords="1024,683,1416,710"/><area shape="rect" id="node35" href="classlibdap_1_1GeoConstraint.html#a8550d6aea8efad6f197b3350c19a25dc" title="libdap::GeoConstraint::get_longitude_index_left" alt="" coords="975,734,1465,761"/><area shape="rect" id="node37" href="classlibdap_1_1GeoConstraint.html#a8f7a2a062f1fa421de74bd41339c9e1b" title="libdap::GeoConstraint::get_longitude_index_right" alt="" coords="969,785,1471,811"/><area shape="rect" id="node39" href="classlibdap_1_1GeoConstraint.html#aee72b66c9ca298aebea679d2c410f7a6" title="libdap::GeoConstraint::get_longitude_notation" alt="" coords="984,835,1456,862"/><area shape="rect" id="node41" href="classlibdap_1_1GeoConstraint.html#ac572f71506b0214a755b30ba7e0def94" title="libdap::GeoConstraint::is_bounding_box_set" alt="" coords="999,886,1441,913"/><area shape="rect" id="node48" href="classlibdap_1_1GeoConstraint.html#aa893256d558152f07e08ec6f250fa089" title="libdap::GeoConstraint::reorder_data_longitude_axis" alt="" coords="959,633,1481,659"/><area shape="rect" id="node54" href="classlibdap_1_1GeoConstraint.html#ab2060337a35195641d6e0f667b8bf9df" title="libdap::GeoConstraint::reorder_longitude_map" alt="" coords="989,937,1451,963"/><area shape="rect" id="node56" href="namespacelibdap.html#a5d52ca5c40dd022353469e7b5d8a9ad4" title="libdap::set_array_using_double" alt="" coords="1059,1139,1381,1166"/><area shape="rect" id="node64" href="classlibdap_1_1GeoConstraint.html#af69dd8771a629e0b6da655e0c31b3dd6" title="libdap::GeoConstraint::set_latitude_index_bottom" alt="" coords="969,987,1471,1014"/><area shape="rect" id="node66" href="classlibdap_1_1GeoConstraint.html#a58cf100c6ac40095273520035ff3f2ee" title="libdap::GeoConstraint::set_latitude_index_top" alt="" coords="984,1038,1456,1065"/><area shape="rect" id="node68" href="classlibdap_1_1GeoConstraint.html#a2a2256b437d39ca3e868c70cb407cc98" title="libdap::GeoConstraint::set_longitude_index_left" alt="" coords="975,1190,1465,1217"/><area shape="rect" id="node70" href="classlibdap_1_1GeoConstraint.html#ad2217cd57779104cc3e9633c74b66607" title="libdap::GeoConstraint::set_longitude_index_right" alt="" coords="969,1241,1471,1267"/><area shape="rect" id="node72" href="classlibdap_1_1Grid.html#adaa3661e737987979357f5e10f208640" title="Sets the value of the read_p property." alt="" coords="1089,1291,1351,1318"/><area shape="rect" id="node74" href="classlibdap_1_1GeoConstraint.html#aae44ab86b981a7543697ad8199094df7" title="libdap::GeoConstraint::transform_longitude_to_neg_pos_notation" alt="" coords="899,1342,1541,1369"/><area shape="rect" id="node76" href="classlibdap_1_1GeoConstraint.html#a681345f3c4b95ae95ce5b49bb8ff248a" title="libdap::GeoConstraint::transpose_vector" alt="" coords="1015,1393,1425,1419"/><area shape="rect" id="node78" href="classlibdap_1_1Vector.html#a96ecf84f2798065878755d9a9014ee69" title="Reads data into the Vector buffer. Thrown if called for Structure, Sequence or Grid." alt="" coords="1636,1519,1887,1546"/><area shape="rect" id="node58" href="classlibdap_1_1BaseType.html#a614ce462dc6236791630f373bf75ad49" title="Returns true if the instance is a numeric, string or URL type variable." alt="" coords="1591,1570,1932,1597"/><area shape="rect" id="node60" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="1981,1545,2224,1571"/><area shape="rect" id="node84" href="classlibdap_1_1BaseType.html#a38ff819a432217c55db2e9071928d20c" title="Has this variable been read?" alt="" coords="1631,1823,1892,1850"/><area shape="rect" id="node87" href="classlibdap_1_1Float64.html#addf858aa9535d32f638c4e65a4b33256" title="libdap::Float64::value" alt="" coords="1640,1874,1883,1901"/><area shape="rect" id="node89" href="classlibdap_1_1Float32.html#a7371bd4111884f04d2e93039312153a4" title="libdap::Float32::value" alt="" coords="1640,1925,1883,1951"/><area shape="rect" id="node91" href="classlibdap_1_1Int32.html#a10a0268d3d1ed42fbab3ca92ec8e7ea5" title="libdap::Int32::value" alt="" coords="1651,1975,1872,2002"/><area shape="rect" id="node93" href="classlibdap_1_1UInt32.html#aa7edf19a8c055d574466ae4e901c1936" title="libdap::UInt32::value" alt="" coords="1645,1671,1877,1698"/><area shape="rect" id="node95" href="classlibdap_1_1Int16.html#af9373c11c553ad22baafebb69f35ed37" title="libdap::Int16::value" alt="" coords="1651,1722,1872,1749"/><area shape="rect" id="node97" href="classlibdap_1_1UInt16.html#a9cc3d2c1a8b4abb67096e78f2c3ecbda" title="libdap::UInt16::value" alt="" coords="1645,1773,1877,1799"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ad495b5febe1ea2b30f9fce7e31e98c9e"></a><!-- doxytag: member="libdap::function_grid" ref="ad495b5febe1ea2b30f9fce7e31e98c9e" args="(int argc, BaseType *argv[], DDS &amp;, BaseType **btpp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::function_grid </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType *&#160;</td>
          <td class="paramname"><em>argv</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DDS &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType **&#160;</td>
          <td class="paramname"><em>btpp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The grid function uses a set of relational expressions to form a selection within a <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> variable based on the values in the Grid's map vectors. Thus, if a <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> has a 'temperature' map which ranges from 0.0 to 32.0 degrees, it's possible to request the values of the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> that fall between 10.5 and 12.5 degrees without knowing to which array indexes those values correspond. The function takes one or more arguments:</p>
<ul>
<li>
The name of a <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>. </li>
<li>
Zero or more strings which hold relational expressions of the form:<ul>
<li>
<code>&lt;map var&gt; &lt;relop&gt; &lt;constant&gt;</code> </li>
<li>
<code>&lt;constant&gt; &lt;relop&gt; &lt;map var&gt; &lt;relop&gt; &lt;constant&gt;</code> </li>
</ul>
</li>
</ul>
<p>Each of the relation expressions is applied to the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a> and the result is returned.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Since this is a function and one of the arguments is the grid, the grid is read (using the <a class="el" href="classlibdap_1_1BaseType.html#a1da003c53f2e663223f603ab3fbd7c8e" title="Read data into a local buffer.">Grid::read()</a> method) at the time the argument list is built.</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000008">Todo:</a></b></dt><dd>In order to be used by geogrid() , this code may have to be modified so that the maps and array are not re-read by the serialize() method. It might also be a good idea to change from the '?grid(SST,"10&lt;time&lt;20")' syntax in a URL to '?SST&amp;grid(SST,"10&lt;time&lt;20")' even though it's more verbose in the URL, it would make the function a true 'selection operator' and allow several grids to be returned with selections in one request.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>The number of values in argv. </td></tr>
    <tr><td class="paramname">argv</td><td>An array of <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> pointers which hold the arguments to be passed to geogrid. The arguments may be Strings, Integers, or Reals, subject to the above constraints. </td></tr>
    <tr><td class="paramname">dds</td><td>The <a class="el" href="classlibdap_1_1DDS.html">DDS</a> which holds the <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>. </td></tr>
    <tr><td class="paramname">dataset</td><td>Name of the dataset. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>geogrid() (func_geogrid_select) A function which has logic specific to longitude/latitude selection. </dd></dl>

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l00443">443</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="Grid_8cc_source.html#l00528">libdap::Grid::get_array()</a>, <a class="el" href="gse__parser_8h_source.html#l00062">libdap::gse_arg::get_gsec()</a>, <a class="el" href="Error_8h_source.html#l00064">malformed_expr</a>, <a class="el" href="Grid_8cc_source.html#l00539">libdap::Grid::map_begin()</a>, <a class="el" href="Grid_8cc_source.html#l00547">libdap::Grid::map_end()</a>, <a class="el" href="Grid_8cc_source.html#l00121">libdap::Grid::ptr_duplicate()</a>, <a class="el" href="BaseType_8cc_source.html#l00790">libdap::BaseType::read()</a>, <a class="el" href="Vector_8cc_source.html#l00346">libdap::Vector::set_send_p()</a>, and <a class="el" href="Str_8cc_source.html#l00224">libdap::Str::set_value()</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l01030">register_functions()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_ad495b5febe1ea2b30f9fce7e31e98c9e_cgraph.png" border="0" usemap="#namespacelibdap_ad495b5febe1ea2b30f9fce7e31e98c9e_cgraph" alt=""/></div>
<map name="namespacelibdap_ad495b5febe1ea2b30f9fce7e31e98c9e_cgraph" id="namespacelibdap_ad495b5febe1ea2b30f9fce7e31e98c9e_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1Grid.html#a905ac86a44a9d8ce576056ba244cf558" title="Returns the Grid Array. This method returns the array using an Array*, so no cast is required..." alt="" coords="307,5,557,32"/><area shape="rect" id="node5" href="structlibdap_1_1gse__arg.html#a63b69a5efec365819548d800d29b7a2a" title="libdap::gse_arg::get_gsec" alt="" coords="296,56,568,83"/><area shape="rect" id="node7" href="classlibdap_1_1Grid.html#a2e9d2e436c0ff138a977dbba54c018eb" title="Returns an iterator referencing the first Map vector." alt="" coords="307,107,557,133"/><area shape="rect" id="node9" href="classlibdap_1_1Grid.html#aaebbf2a5329ec01b6527b4bafde87837" title="libdap::Grid::map_end" alt="" coords="316,157,548,184"/><area shape="rect" id="node11" href="classlibdap_1_1Grid.html#a0c4a5aefa252d3eab94b8a0ce5232dc6" title="libdap::Grid::ptr_duplicate" alt="" coords="287,208,577,235"/><area shape="rect" id="node15" href="classlibdap_1_1BaseType.html#a1da003c53f2e663223f603ab3fbd7c8e" title="Read data into a local buffer." alt="" coords="311,259,553,285"/><area shape="rect" id="node17" href="classlibdap_1_1Vector.html#a64815467570490a4a6cddc89f09a2413" title="Indicates that the data is ready to send." alt="" coords="291,309,573,336"/><area shape="rect" id="node23" href="classlibdap_1_1Str.html#ac4083a612e46a9ef2d1cddc2d40a955f" title="libdap::Str::set_value" alt="" coords="311,360,553,387"/><area shape="rect" id="node13" href="classlibdap_1_1Grid.html#a75774a8fe1c7c7ec9a1e48a7d6d2cbc0" title="The Grid constructor." alt="" coords="677,208,880,235"/><area shape="rect" id="node19" href="classlibdap_1_1BaseType.html#aba7b27635c95b74536de18393133628e" title="libdap::BaseType::set_send_p" alt="" coords="628,309,929,336"/><area shape="rect" id="node21" href="classlibdap_1_1BaseType.html#a0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="979,335,1221,361"/><area shape="rect" id="node25" href="classlibdap_1_1BaseType.html#a4533905a450d2a7af32e7d5acd557676" title="Sets the value of the read_p property." alt="" coords="628,360,929,387"/><area shape="rect" id="node28" href="classlibdap_1_1Str.html#ad1c8898d979786da1699677c04264aa1" title="libdap::Str::value" alt="" coords="677,411,880,437"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="acb70f051b4691bdf6d1333a2a7a442f0"></a><!-- doxytag: member="libdap::function_linear_scale" ref="acb70f051b4691bdf6d1333a2a7a442f0" args="(int argc, BaseType *argv[], DDS &amp;, BaseType **btpp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::function_linear_scale </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType *&#160;</td>
          <td class="paramname"><em>argv</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DDS &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType **&#160;</td>
          <td class="paramname"><em>btpp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a>, scale it using 'y = mx + b'. Either provide the constants 'm' and 'b' or the function will look for the COARDS attributes 'scale_factor' and 'add_offset'.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td></td></tr>
    <tr><td class="paramname">argv</td><td></td></tr>
    <tr><td class="paramname">dds</td><td></td></tr>
    <tr><td class="paramname">dataset</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The scaled variable, represented using <a class="el" href="classlibdap_1_1Float64.html" title="Holds a 64-bit (double precision) floating point value.">Float64</a> </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>Thrown if scale_factor is not given and the COARDS attributes cannot be found OR if the source variable is not a numeric scalar, <a class="el" href="classlibdap_1_1Array.html" title="A multidimensional array of identical data types.">Array</a> or <a class="el" href="classlibdap_1_1Grid.html" title="Holds the Grid data type.">Grid</a>. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l00785">785</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>References <a class="el" href="Array_8cc_source.html#l00176">libdap::Array::add_var()</a>, <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="debug_8h_source.html#l00073">DBG2</a>, <a class="el" href="BaseType_8h_source.html#l00145">dods_grid_c</a>, <a class="el" href="BaseType_8h_source.html#l00140">dods_str_c</a>, <a class="el" href="BaseType_8h_source.html#l00141">dods_url_c</a>, <a class="el" href="ce__functions_8cc_source.html#l00102">double_eq()</a>, <a class="el" href="ce__functions_8cc_source.html#l00239">extract_double_array()</a>, <a class="el" href="ce__functions_8cc_source.html#l00284">extract_double_value()</a>, <a class="el" href="BaseType_8cc_source.html#l00655">libdap::BaseType::get_parent()</a>, <a class="el" href="Vector_8cc_source.html#l00524">libdap::Vector::length()</a>, <a class="el" href="Error_8h_source.html#l00064">malformed_expr</a>, <a class="el" href="BaseType_8cc_source.html#l00210">libdap::BaseType::name()</a>, <a class="el" href="BaseType_8cc_source.html#l00790">libdap::BaseType::read()</a>, <a class="el" href="Vector_8cc_source.html#l00346">libdap::Vector::set_send_p()</a>, <a class="el" href="Vector_8cc_source.html#l01272">libdap::Vector::set_value()</a>, <a class="el" href="Str_8cc_source.html#l00224">libdap::Str::set_value()</a>, <a class="el" href="BaseType_8cc_source.html#l00238">libdap::BaseType::type()</a>, <a class="el" href="classlibdap_1_1BaseType.html#ac360679317a411d7812ca235a1528281">libdap::BaseType::val2buf()</a>, and <a class="el" href="Vector_8cc_source.html#l00848">libdap::Vector::val2buf()</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l01030">register_functions()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_acb70f051b4691bdf6d1333a2a7a442f0_cgraph.png" border="0" usemap="#namespacelibdap_acb70f051b4691bdf6d1333a2a7a442f0_cgraph" alt=""/></div>
<map name="namespacelibdap_acb70f051b4691bdf6d1333a2a7a442f0_cgraph" id="namespacelibdap_acb70f051b4691bdf6d1333a2a7a442f0_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1Array.html#ac9a68fa480403f9b80285073c653570c" title="Add the BaseType pointer to this constructor type instance." alt="" coords="396,183,639,209"/><area shape="rect" id="node21" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="1811,765,2053,792"/><area shape="rect" id="node28" href="classlibdap_1_1BaseType.html#a0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="1415,461,1657,488"/><area shape="rect" id="node33" href="namespacelibdap.html#a7e55035aed27d6e56f7219405c803628" title="libdap::double_eq" alt="" coords="421,1373,613,1400"/><area shape="rect" id="node35" href="namespacelibdap.html#ae9717ce6442b4909dcd7add356a7ff88" title="libdap::extract_double_array" alt="" coords="367,588,668,615"/><area shape="rect" id="node45" href="namespacelibdap.html#a3c8b08223f4ea1841cf82dfc743a0d3a" title="libdap::extract_double_value" alt="" coords="367,968,668,995"/><area shape="rect" id="node64" href="classlibdap_1_1BaseType.html#aeabb771d731dbcef92fff731fb429f85" title="libdap::BaseType::get_parent" alt="" coords="367,1424,668,1451"/><area shape="rect" id="node66" href="classlibdap_1_1Vector.html#a5990bd42b49e44c7b7da76e039896ba3" title="libdap::Vector::length" alt="" coords="1415,1373,1657,1400"/><area shape="rect" id="node69" href="classlibdap_1_1BaseType.html#a1da003c53f2e663223f603ab3fbd7c8e" title="Read data into a local buffer." alt="" coords="396,1475,639,1501"/><area shape="rect" id="node71" href="classlibdap_1_1Vector.html#a64815467570490a4a6cddc89f09a2413" title="Indicates that the data is ready to send." alt="" coords="376,411,659,437"/><area shape="rect" id="node76" href="classlibdap_1_1Vector.html#ac6ffab2a00584c2963c0d521ad4028b5" title="set the value of a byte array" alt="" coords="381,360,653,387"/><area shape="rect" id="node80" href="classlibdap_1_1Str.html#ac4083a612e46a9ef2d1cddc2d40a955f" title="libdap::Str::set_value" alt="" coords="396,664,639,691"/><area shape="rect" id="node88" href="classlibdap_1_1BaseType.html#ac360679317a411d7812ca235a1528281" title="Loads class data." alt="" coords="381,1525,653,1552"/><area shape="rect" id="node90" href="classlibdap_1_1Vector.html#a96ecf84f2798065878755d9a9014ee69" title="Reads data into the Vector buffer. Thrown if called for Structure, Sequence or Grid." alt="" coords="392,1323,643,1349"/><area shape="rect" id="node5" href="classlibdap_1_1Array.html#a00eedc1b0f4739c3624d9d3e2998f322" title="Add a dimension of a given size." alt="" coords="853,5,1125,32"/><area shape="rect" id="node13" href="classlibdap_1_1Array.html#ae6e6943cd895fa8dc1c58621ffad42a0" title="libdap::Array::dim_begin" alt="" coords="859,56,1120,83"/><area shape="rect" id="node15" href="classlibdap_1_1Array.html#a1e6b13c4a5d3e825df7ebae3a9dc300d" title="libdap::Array::dim_end" alt="" coords="868,107,1111,133"/><area shape="rect" id="node17" href="classlibdap_1_1Array.html#a594eec9c83ef39c93f735e6cc3216c8b" title="Returns the name of the specified dimension." alt="" coords="833,157,1145,184"/><area shape="rect" id="node19" href="classlibdap_1_1Array.html#a8f29497af9c33c0d66939d5f9a16d92a" title="Returns the size of the dimension." alt="" coords="833,208,1145,235"/><area shape="rect" id="node23" href="classlibdap_1_1Vector.html#aa5ccb30d1f27ae587f35216b859feec7" title="libdap::Vector::var" alt="" coords="884,309,1095,336"/><area shape="rect" id="node7" href="classlibdap_1_1Array.html#a2b1f0cb764aac18ca06e4c7bc1942064" title="libdap::Array::update_length" alt="" coords="1385,5,1687,32"/><area shape="rect" id="node9" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="1455,132,1617,159"/><area shape="rect" id="node11" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1827,132,2037,159"/><area shape="rect" id="node25" href="classlibdap_1_1BaseType.html#a9eb6cae7f3490723180131345c85cfc7" title="Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable..." alt="" coords="1340,309,1732,336"/><area shape="rect" id="node30" href="classlibdap_1_1BaseType.html#a4dc4fac1bb6083f6db645f37bfd59b85" title="Returns a pointer to a member of a constructor class." alt="" coords="1420,360,1652,387"/><area shape="rect" id="node37" href="classlibdap_1_1BaseType.html#a614ce462dc6236791630f373bf75ad49" title="Returns true if the instance is a numeric, string or URL type variable." alt="" coords="819,765,1160,792"/><area shape="rect" id="node41" href="classlibdap_1_1BaseType.html#a38ff819a432217c55db2e9071928d20c" title="Has this variable been read?" alt="" coords="859,715,1120,741"/><area shape="rect" id="node50" href="classlibdap_1_1Float64.html#addf858aa9535d32f638c4e65a4b33256" title="libdap::Float64::value" alt="" coords="868,968,1111,995"/><area shape="rect" id="node52" href="classlibdap_1_1Float32.html#a7371bd4111884f04d2e93039312153a4" title="libdap::Float32::value" alt="" coords="868,1019,1111,1045"/><area shape="rect" id="node54" href="classlibdap_1_1Int32.html#a10a0268d3d1ed42fbab3ca92ec8e7ea5" title="libdap::Int32::value" alt="" coords="879,1069,1100,1096"/><area shape="rect" id="node56" href="classlibdap_1_1UInt32.html#aa7edf19a8c055d574466ae4e901c1936" title="libdap::UInt32::value" alt="" coords="873,1120,1105,1147"/><area shape="rect" id="node58" href="classlibdap_1_1Int16.html#af9373c11c553ad22baafebb69f35ed37" title="libdap::Int16::value" alt="" coords="879,1171,1100,1197"/><area shape="rect" id="node60" href="classlibdap_1_1UInt16.html#a9cc3d2c1a8b4abb67096e78f2c3ecbda" title="libdap::UInt16::value" alt="" coords="873,1221,1105,1248"/><area shape="rect" id="node62" href="classlibdap_1_1Byte.html#afcb7d879a5a0185d39518ff0fcc10afd" title="libdap::Byte::value" alt="" coords="884,917,1095,944"/><area shape="rect" id="node73" href="classlibdap_1_1BaseType.html#aba7b27635c95b74536de18393133628e" title="libdap::BaseType::set_send_p" alt="" coords="839,411,1140,437"/><area shape="rect" id="node82" href="classlibdap_1_1BaseType.html#a4533905a450d2a7af32e7d5acd557676" title="Sets the value of the read_p property." alt="" coords="839,664,1140,691"/><area shape="rect" id="node85" href="classlibdap_1_1Str.html#ad1c8898d979786da1699677c04264aa1" title="libdap::Str::value" alt="" coords="888,613,1091,640"/><area shape="rect" id="node92" href="classlibdap_1_1Vector.html#aba02c4fc92dc426a08591c8ce2b487c2" title="libdap::Vector::create_cardinal_data_buffer_for_type" alt="" coords="719,1475,1260,1501"/><area shape="rect" id="node94" href="classlibdap_1_1Vector.html#a2364cd6097c75a43f5062b8e747bcb7b" title="libdap::Vector::delete_cardinal_data_buffer" alt="" coords="1311,1525,1761,1552"/><area shape="rect" id="node104" href="classlibdap_1_1Vector.html#a2a3c2d3b4a1fb3e88ee8737c1a33320a" title="Returns the width of the data, in bytes." alt="" coords="873,1424,1105,1451"/><area shape="rect" id="node96" href="classlibdap_1_1Vector.html#a6cfe826d75012b63775541cb35410660" title="libdap::Vector::is_cardinal_type" alt="" coords="1365,1475,1707,1501"/><area shape="rect" id="node99" href="classlibdap_1_1BaseType.html#a3058467f1e80a41f3cf1068ec9ec68ed" title="Returns the size of the class instance data." alt="" coords="1411,1424,1661,1451"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a69a45fe57f5b17b8ab202f454b2f7556"></a><!-- doxytag: member="libdap::function_version" ref="a69a45fe57f5b17b8ab202f454b2f7556" args="(int, BaseType *[], DDS &amp;, BaseType **btpp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::function_version </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType *&#160;</td>
          <td class="paramname">[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DDS &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BaseType **&#160;</td>
          <td class="paramname"><em>btpp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This server-side function returns version information for the server-side functions. </p>

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l00324">324</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>References <a class="el" href="Str_8cc_source.html#l00224">libdap::Str::set_value()</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l01030">register_functions()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a69a45fe57f5b17b8ab202f454b2f7556_cgraph.png" border="0" usemap="#namespacelibdap_a69a45fe57f5b17b8ab202f454b2f7556_cgraph" alt=""/></div>
<map name="namespacelibdap_a69a45fe57f5b17b8ab202f454b2f7556_cgraph" id="namespacelibdap_a69a45fe57f5b17b8ab202f454b2f7556_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1Str.html#ac4083a612e46a9ef2d1cddc2d40a955f" title="libdap::Str::set_value" alt="" coords="317,31,560,57"/><area shape="rect" id="node5" href="classlibdap_1_1BaseType.html#a4533905a450d2a7af32e7d5acd557676" title="Sets the value of the read_p property." alt="" coords="609,5,911,32"/><area shape="rect" id="node9" href="classlibdap_1_1Str.html#ad1c8898d979786da1699677c04264aa1" title="libdap::Str::value" alt="" coords="659,56,861,83"/><area shape="rect" id="node7" href="classlibdap_1_1BaseType.html#a0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="960,5,1203,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a284c1c548cbcea75bb1b7c8374dc04e9"></a><!-- doxytag: member="libdap::get_description_type" ref="a284c1c548cbcea75bb1b7c8374dc04e9" args="(const string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> libdap::get_description_type </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This function returns the ObjectType value that matches the given string. Modified to include tests for the descriptions that use hyphens in addition to underscores. 8/1/08 jhrg</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>Value from the HTTP response header </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00333">333</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="ObjectType_8h_source.html#l00065">dap4_data</a>, <a class="el" href="ObjectType_8h_source.html#l00067">dap4_data_ddx</a>, <a class="el" href="ObjectType_8h_source.html#l00064">dap4_ddx</a>, <a class="el" href="ObjectType_8h_source.html#l00066">dap4_error</a>, <a class="el" href="ObjectType_8h_source.html#l00059">dods_das</a>, <a class="el" href="ObjectType_8h_source.html#l00061">dods_data</a>, <a class="el" href="ObjectType_8h_source.html#l00060">dods_dds</a>, <a class="el" href="ObjectType_8h_source.html#l00068">dods_ddx</a>, <a class="el" href="ObjectType_8h_source.html#l00062">dods_error</a>, <a class="el" href="ObjectType_8h_source.html#l00058">unknown_type</a>, and <a class="el" href="ObjectType_8h_source.html#l00063">web_error</a>.</p>

<p>Referenced by <a class="el" href="mime__util_8cc_source.html#l00832">read_multipart_headers()</a>.</p>

</div>
</div>
<a class="anchor" id="a68a16ef70e29c367dabd3cb5165c386a"></a><!-- doxytag: member="libdap::get_hash" ref="a68a16ef70e29c367dabd3cb5165c386a" args="(const string &amp;url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::get_hash </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>url</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Compute the hash value for a URL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">url</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An integer hash code between 0 and CACHE_TABLE_SIZE. </dd></dl>

<p>Definition at line <a class="el" href="HTTPCacheTable_8cc_source.html#l00097">97</a> of file <a class="el" href="HTTPCacheTable_8cc_source.html">HTTPCacheTable.cc</a>.</p>

<p>References <a class="el" href="HTTPCacheTable_8cc_source.html#l00087">CACHE_TABLE_SIZE</a>.</p>

<p>Referenced by <a class="el" href="HTTPCacheTable_8h_source.html#l00214">libdap::HTTPCacheTable::CacheEntry::CacheEntry()</a>, <a class="el" href="HTTPCacheTable_8cc_source.html#l00557">libdap::HTTPCacheTable::get_locked_entry_from_cache_table()</a>, <a class="el" href="HTTPCacheTable_8cc_source.html#l00596">libdap::HTTPCacheTable::get_write_locked_entry_from_cache_table()</a>, and <a class="el" href="HTTPCacheTable_8cc_source.html#l00670">libdap::HTTPCacheTable::remove_entry_from_cache_table()</a>.</p>

</div>
</div>
<a class="anchor" id="a138ad983bab51cd81239f2e3d0572486"></a><!-- doxytag: member="libdap::get_next_mime_header" ref="a138ad983bab51cd81239f2e3d0572486" args="(FILE *in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::get_next_mime_header </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>in</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read the next MIME header from the input stream and return it in a string object. This function consumes any leading whitespace before the next header. It returns an empty string when the blank line that separates the headers from the body is found. this function works for header and separator lines that use either a CRLF pair (the correct line ending) or just a newline (a common error).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>Read from this stream (FILE *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string that contains the next header line or is empty indicating the separator has been read. </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>is thrown if no header or separator is found. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespacelibdap.html#a3853818a415408fd980e8f3a9321d5d8">parse_mime_header()</a> </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00730">730</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, and <a class="el" href="mime__util_8cc_source.html#l00715">line_length</a>.</p>

<p>Referenced by <a class="el" href="mime__util_8cc_source.html#l00798">read_multipart_boundary()</a>, and <a class="el" href="mime__util_8cc_source.html#l00832">read_multipart_headers()</a>.</p>

</div>
</div>
<a class="anchor" id="a38c36ee6057b9229779ba3053bb37d4c"></a><!-- doxytag: member="libdap::get_temp_file" ref="a38c36ee6057b9229779ba3053bb37d4c" args="(FILE *&amp;stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::get_temp_file </td>
          <td>(</td>
          <td class="paramtype">FILE *&amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td>  throw (<a class="el" href="classlibdap_1_1InternalErr.html">InternalErr</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Open a temporary file and return its name. This method opens a temporary file using get_tempfile_template(). The FILE* <code>stream</code> is opened for both reads and writes; if it already exists (highly unlikely), it is truncated. If used on Unix, it's the callers responsibility to unlink the named file so that when all descriptors to it are closed, it will be deleted. On Win32 platforms, this method pushes the name of the temporary file onto a vector which is used during object destruction to delete all the temporary files.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Delete the returned char* using delete[].</dd></dl>
<p>A private method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">stream</td><td>A value-result parameter; the open file descriptor is returned via this parameter. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The name of the temporary file. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classlibdap_1_1InternalErr.html" title="A class for software fault reporting.">InternalErr</a></td><td>thrown if the FILE* could not be opened. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="HTTPConnect_8cc_source.html#l00695">695</a> of file <a class="el" href="HTTPConnect_8cc_source.html">HTTPConnect.cc</a>.</p>

</div>
</div>
<a class="anchor" id="aceb42dce2c3676ca9785ee89190ab4ce"></a><!-- doxytag: member="libdap::get_type" ref="aceb42dce2c3676ca9785ee89190ab4ce" args="(const string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacelibdap.html#ae7466ed8496f06654ec276eac907c06a">ObjectType</a> libdap::get_type </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This function returns the ObjectType value that matches the given string. Modified to include tests for the descriptions that use hyphens in addition to underscores. 8/1/08 jhrg</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000010">Deprecated:</a></b></dt><dd>Use get_description_type instead </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00301">301</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="ObjectType_8h_source.html#l00065">dap4_data</a>, <a class="el" href="ObjectType_8h_source.html#l00067">dap4_data_ddx</a>, <a class="el" href="ObjectType_8h_source.html#l00064">dap4_ddx</a>, <a class="el" href="ObjectType_8h_source.html#l00066">dap4_error</a>, <a class="el" href="ObjectType_8h_source.html#l00059">dods_das</a>, <a class="el" href="ObjectType_8h_source.html#l00061">dods_data</a>, <a class="el" href="ObjectType_8h_source.html#l00060">dods_dds</a>, <a class="el" href="ObjectType_8h_source.html#l00068">dods_ddx</a>, <a class="el" href="ObjectType_8h_source.html#l00062">dods_error</a>, <a class="el" href="mime__util_8cc_source.html#l00301">get_type()</a>, <a class="el" href="ObjectType_8h_source.html#l00058">unknown_type</a>, and <a class="el" href="ObjectType_8h_source.html#l00063">web_error</a>.</p>

<p>Referenced by <a class="el" href="Response_8h_source.html#l00119">libdap::Response::get_type()</a>, and <a class="el" href="mime__util_8cc_source.html#l00301">get_type()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_aceb42dce2c3676ca9785ee89190ab4ce_cgraph.png" border="0" usemap="#namespacelibdap_aceb42dce2c3676ca9785ee89190ab4ce_cgraph" alt=""/></div>
<map name="namespacelibdap_aceb42dce2c3676ca9785ee89190ab4ce_cgraph" id="namespacelibdap_aceb42dce2c3676ca9785ee89190ab4ce_cgraph">
</map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a58976ab42baea9bf93449dda9e18342a"></a><!-- doxytag: member="libdap::hexstring" ref="a58976ab42baea9bf93449dda9e18342a" args="(unsigned char val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::hexstring </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00080">80</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

<p>Referenced by <a class="el" href="escaping_8cc_source.html#l00151">id2www()</a>.</p>

</div>
</div>
<a class="anchor" id="afbd709ed83699c11234a213463d16b9c"></a><!-- doxytag: member="libdap::id2www" ref="afbd709ed83699c11234a213463d16b9c" args="(string in, const string &amp;allowable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::id2www </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>allowable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Replace characters that are not allowed in DAP2 identifiers.</p>
<p>-In the DAP itself, <a class="el" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c">id2www()</a> is called in:</p>
<ol type="1">
<li><a class="el" href="classlibdap_1_1Array.html#a62456490e14832bd55b9b79d6e37397a" title="Prints a DDS entry for the Array.">Array::print_decl()</a> where dimension names are escaped</li>
<li><a class="el" href="classlibdap_1_1AttrTable.html#acc2d83b4f1c8e704a6f83ff966a999c8" title="Prints the attribute table.">AttrTable::print()</a> (which calls <a class="el" href="classlibdap_1_1AttrTable.html#a1abee354d7f609ed55b849b0431bc48f">AttrTable::simple_print()</a>) where attribute names are escaped</li>
<li><a class="el" href="classlibdap_1_1BaseType.html#afd744b0ddeb04e7b173c9e83423ec572" title="Print an ASCII representation of the variable structure.">BaseType::print_decl()</a> where variable names are escaped.</li>
<li><a class="el" href="classlibdap_1_1Constructor.html#ab7fb094be8da2a9f80f6d3b85e452934" title="Print an ASCII representation of the variable structure.">Constructor::print_decl()</a> where the name of the constructor type is printed.</li>
<li><a class="el" href="classlibdap_1_1DDS.html#a535b5900c31f0038061f4aef5fa1c6c1" title="Print the entire DDS to the specified ostream.">DDS::print()</a> and <a class="el" href="classlibdap_1_1DDS.html#ab2e1cacd542373312d5154565b3c1571" title="Print a constrained DDS to the specified ostream.">DDS::print_constrained()</a> where the name of the dataset is printed.</li>
<li><a class="el" href="classlibdap_1_1Grid.html#a5a239b053928636e13e3a478faf8e334" title="Print an ASCII representation of the variable structure.">Grid::print_decl()</a> where the name of the grid is printed.</li>
</ol>
<p>-In the client code:</p>
<ol type="1">
<li><a class="el" href="namespacelibdap.html#adc33774947740cc181b6d4d7ca90e22d">id2www_ce()</a> is called five times in the five methods that are used to request responses where a CE is appended to a URL (<a class="el" href="classlibdap_1_1Connect.html#ac7a5896a09882004b75e581999940526">Connect::request_version</a>, request_protocol, request_das, request_dds, request_data).</li>
</ol>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>Replace characters in this string. </td></tr>
    <tr><td class="paramname">allowable</td><td>The set of characters that are allowed in a URI. default: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+_/.\\*" </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespacelibdap.html#adc33774947740cc181b6d4d7ca90e22d">id2www_ce()</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The modified identifier. </dd></dl>

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

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="debug_8h_source.html#l00059">DBGN</a>, and <a class="el" href="escaping_8cc_source.html#l00080">hexstring()</a>.</p>

<p>Referenced by <a class="el" href="escaping_8cc_source.html#l00176">id2www_ce()</a>, <a class="el" href="DDS_8cc_source.html#l00959">libdap::DDS::print()</a>, <a class="el" href="AttrTable_8cc_source.html#l01155">libdap::AttrTable::print()</a>, <a class="el" href="DDS_8cc_source.html#l01012">libdap::DDS::print_constrained()</a>, <a class="el" href="Grid_8cc_source.html#l00776">libdap::Grid::print_decl()</a>, <a class="el" href="Constructor_8cc_source.html#l00361">libdap::Constructor::print_decl()</a>, <a class="el" href="BaseType_8cc_source.html#l00919">libdap::BaseType::print_decl()</a>, <a class="el" href="Array_8cc_source.html#l00566">libdap::Array::print_decl()</a>, and <a class="el" href="AttrTable_8cc_source.html#l01038">libdap::AttrTable::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="namespacelibdap_afbd709ed83699c11234a213463d16b9c_cgraph.png" border="0" usemap="#namespacelibdap_afbd709ed83699c11234a213463d16b9c_cgraph" alt=""/></div>
<map name="namespacelibdap_afbd709ed83699c11234a213463d16b9c_cgraph" id="namespacelibdap_afbd709ed83699c11234a213463d16b9c_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="216,5,408,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="adc33774947740cc181b6d4d7ca90e22d"></a><!-- doxytag: member="libdap::id2www_ce" ref="adc33774947740cc181b6d4d7ca90e22d" args="(string in, const string &amp;allowable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::id2www_ce </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>allowable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Replace characters that are not allowed in WWW URLs using rules specific to Constraint Expressions. This has changed over time and now the only difference is that '*' is escaped by this function while it is not escaped by <a class="el" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c">id2www()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>The string in which to replace characters. </td></tr>
    <tr><td class="paramname">allowable</td><td>The set of characters that are allowed in a URI. default: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+_/.\\" </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c">id2www()</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The modified identifier. </dd></dl>

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

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

<p>Referenced by <a class="el" href="Connect_8cc_source.html#l00369">libdap::Connect::request_das()</a>, <a class="el" href="Connect_8cc_source.html#l00780">libdap::Connect::request_data()</a>, <a class="el" href="Connect_8cc_source.html#l00852">libdap::Connect::request_data_ddx()</a>, <a class="el" href="Connect_8cc_source.html#l00495">libdap::Connect::request_dds()</a>, <a class="el" href="Connect_8cc_source.html#l00633">libdap::Connect::request_ddx()</a>, <a class="el" href="Connect_8cc_source.html#l00338">libdap::Connect::request_protocol()</a>, and <a class="el" href="Connect_8cc_source.html#l00303">libdap::Connect::request_version()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_adc33774947740cc181b6d4d7ca90e22d_cgraph.png" border="0" usemap="#namespacelibdap_adc33774947740cc181b6d4d7ca90e22d_cgraph" alt=""/></div>
<map name="namespacelibdap_adc33774947740cc181b6d4d7ca90e22d_cgraph" id="namespacelibdap_adc33774947740cc181b6d4d7ca90e22d_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="245,5,408,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="456,5,648,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a62463a13bf510db3a14c0053fea14f4d"></a><!-- doxytag: member="libdap::id2xml" ref="a62463a13bf510db3a14c0053fea14f4d" args="(string in, const string &amp;not_allowed)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::id2xml </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>not_allowed</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Replace characters that are not allowed in XML</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>The string in which to replace characters. </td></tr>
    <tr><td class="paramname">not_allowed</td><td>The set of characters that are not allowed in XML. default: &gt;&lt;&amp;'(single quote)"(double quote) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The modified identifier. </dd></dl>

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00266">266</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

<p>References <a class="el" href="escaping_8cc_source.html#l00247">octal_to_hex()</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">libdap::AttrTable::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="namespacelibdap_a62463a13bf510db3a14c0053fea14f4d_cgraph.png" border="0" usemap="#namespacelibdap_a62463a13bf510db3a14c0053fea14f4d_cgraph" alt=""/></div>
<map name="namespacelibdap_a62463a13bf510db3a14c0053fea14f4d_cgraph" id="namespacelibdap_a62463a13bf510db3a14c0053fea14f4d_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a61f9b10ef0e659cebdca50a89d8ea7c3" title="libdap::octal_to_hex" alt="" coords="217,5,439,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="adf7e4c413496dc6047a0ea00855e78cb"></a><!-- doxytag: member="libdap::is_boundary" ref="adf7e4c413496dc6047a0ea00855e78cb" args="(const char *line, const string &amp;boundary)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::is_boundary </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>boundary</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is this string the same as the MPM boundary value? </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>The input to test </td></tr>
    <tr><td class="paramname">boundary</td><td>The complete boundary line to test for, excluding terminating characters. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true is line is a MPM boundary </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00781">781</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">libdap::DDXParser::intern_stream()</a>, and <a class="el" href="mime__util_8cc_source.html#l00798">read_multipart_boundary()</a>.</p>

</div>
</div>
<a class="anchor" id="a1987f9d225c2778a297eab61a6a612b3"></a><!-- doxytag: member="libdap::is_hop_by_hop_header" ref="a1987f9d225c2778a297eab61a6a612b3" args="(const string &amp;header)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::is_hop_by_hop_header </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>header</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is the header a hop by hop header? If so, we're not supposed to store it in the cache. See RFC 2616, Section 13.5.1.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the header is, otherwise False. </dd></dl>

<p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00949">949</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p>

</div>
</div>
<a class="anchor" id="af6521dec3b141314aab525bccfaa7bbe"></a><!-- doxytag: member="libdap::is_keyword" ref="af6521dec3b141314aab525bccfaa7bbe" args="(string id, const string &amp;keyword)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::is_keyword </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>keyword</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00175">175</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="util_8cc_source.html#l00367">downcase()</a>, and <a class="el" href="util_8cc_source.html#l00096">prune_spaces()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_af6521dec3b141314aab525bccfaa7bbe_cgraph.png" border="0" usemap="#namespacelibdap_af6521dec3b141314aab525bccfaa7bbe_cgraph" alt=""/></div>
<map name="namespacelibdap_af6521dec3b141314aab525bccfaa7bbe_cgraph" id="namespacelibdap_af6521dec3b141314aab525bccfaa7bbe_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a7edce266869606fc7bb46124f8d63809" title="libdap::downcase" alt="" coords="277,5,459,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a4b1fc86f3e9e75f967ad66f07962d406" title="libdap::prune_spaces" alt="" coords="257,56,479,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="af5f0e11f33c1eb25b831c02d65b2a9ee"></a><!-- doxytag: member="libdap::is_quoted" ref="af5f0e11f33c1eb25b831c02d65b2a9ee" args="(const string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::is_quoted </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="util_8cc_source.html#l00374">374</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>Referenced by <a class="el" href="util_8cc_source.html#l00380">remove_quotes()</a>.</p>

</div>
</div>
<a class="anchor" id="a394c0b1380a16e886f96bf4a9081ed3a"></a><!-- doxytag: member="libdap::last_modified_time" ref="a394c0b1380a16e886f96bf4a9081ed3a" args="(const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t libdap::last_modified_time </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the last modified time. Assume <code>name</code> is a file and find its last modified time. If <code>name</code> is not a file, then return now as the last modified time. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of a file. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The last modified time or the current time. </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00266">266</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l00495">libdap::DODSFilter::get_das_last_modified_time()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00547">libdap::DODSFilter::get_data_last_modified_time()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00480">libdap::DODSFilter::get_dataset_last_modified_time()</a>, and <a class="el" href="DODSFilter_8cc_source.html#l00518">libdap::DODSFilter::get_dds_last_modified_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a218c76777bb3b1a6088a5d9f431fd3f0"></a><!-- doxytag: member="libdap::libdap_name" ref="a218c76777bb3b1a6088a5d9f431fd3f0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * libdap::libdap_name </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="util_8cc_source.html#l00182">182</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>References <a class="el" href="config_8h_source.html#l00295">PACKAGE_NAME</a>.</p>

</div>
</div>
<a class="anchor" id="aa410c0b58527efed5753f9f2da1b9775"></a><!-- doxytag: member="libdap::libdap_root" ref="aa410c0b58527efed5753f9f2da1b9775" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * libdap::libdap_root </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="util_8cc_source.html#l00168">168</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>References <a class="el" href="config_8h_source.html#l00282">LIBDAP_ROOT</a>.</p>

</div>
</div>
<a class="anchor" id="a3c2e481465a4567eaf6d1f22d84c0ef9"></a><!-- doxytag: member="libdap::libdap_version" ref="a3c2e481465a4567eaf6d1f22d84c0ef9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * libdap::libdap_version </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the version string for this package. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>This function has C linkage so that it can be found using autoconf tests. </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The version string. </dd></dl>

<p>Definition at line <a class="el" href="util_8cc_source.html#l00175">175</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>References <a class="el" href="config_8h_source.html#l00307">PACKAGE_VERSION</a>.</p>

<p>Referenced by <a class="el" href="util_8cc_source.html#l00470">dap_version()</a>.</p>

</div>
</div>
<a class="anchor" id="a317edea830aab50d2137a5bd313cc86a"></a><!-- doxytag: member="libdap::long_to_string" ref="a317edea830aab50d2137a5bd313cc86a" args="(long val, int base)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::long_to_string </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>base</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>References <a class="el" href="util_8cc_source.html#l00411">append_long_to_string()</a>.</p>

<p>Referenced by <a class="el" href="RValue_8cc_source.html#l00093">build_btp_args()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01056">libdap::DDXParser::ddx_fatal_error()</a>, <a class="el" href="RCReader_8h_source.html#l00194">libdap::RCReader::get_proxy_server_host_url()</a>, <a class="el" href="SignalHandler_8cc_source.html#l00149">libdap::SignalHandler::register_handler()</a>, <a class="el" href="Connect_8cc_source.html#l00633">libdap::Connect::request_ddx()</a>, <a class="el" href="Connect_8cc_source.html#l00706">libdap::Connect::request_ddx_url()</a>, <a class="el" href="parser-util_8cc_source.html#l00159">save_str()</a>, and <a class="el" href="ce__functions_8cc_source.html#l00166">set_array_using_double()</a>.</p>

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

</div>
</div>
<a class="anchor" id="aa689627594051295e6cb5e472403f943"></a><!-- doxytag: member="libdap::make_rvalue_list" ref="aa689627594051295e6cb5e472403f943" args="(rvalue *rv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacelibdap.html#a443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> * libdap::make_rvalue_list </td>
          <td>(</td>
          <td class="paramtype">rvalue *&#160;</td>
          <td class="paramname"><em>rv</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="RValue_8cc_source.html#l00058">58</a> of file <a class="el" href="RValue_8cc_source.html">RValue.cc</a>.</p>

<p>References <a class="el" href="RValue_8cc_source.html#l00073">append_rvalue_list()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a959e3920299235f2615b8db7bc822b6d"></a><!-- doxytag: member="libdap::munge_error_message" ref="a959e3920299235f2615b8db7bc822b6d" args="(string msg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::munge_error_message </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>msg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00442">442</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ab6f5b13bfa1cc80a83ca5e78ed97c62b"></a><!-- doxytag: member="libdap::name_path" ref="ab6f5b13bfa1cc80a83ca5e78ed97c62b" args="(const string &amp;path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::name_path </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a pathname, this function returns just the file name component of the path. That is, given <code>/a/b/c/ralph.nc.das</code>, it returns <code>ralph.nc</code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>A C-style simple string containing a pathname to be parsed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A C-style simple string containing the filename component of the given pathname. </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00178">178</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00082">FILE_DELIMITER</a>.</p>

</div>
</div>
<a class="anchor" id="a61f9b10ef0e659cebdca50a89d8ea7c3"></a><!-- doxytag: member="libdap::octal_to_hex" ref="a61f9b10ef0e659cebdca50a89d8ea7c3" args="(const string &amp;octal_digits)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::octal_to_hex </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>octal_digits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00247">247</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

<p>Referenced by <a class="el" href="escaping_8cc_source.html#l00266">id2xml()</a>.</p>

</div>
</div>
<a class="anchor" id="a5efc80c1583d1a764da47096650e1455"></a><!-- doxytag: member="libdap::octstring" ref="a5efc80c1583d1a764da47096650e1455" args="(unsigned char val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::octstring </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00101">101</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

<p>Referenced by <a class="el" href="escaping_8cc_source.html#l00362">escattr()</a>.</p>

</div>
</div>
<a class="anchor" id="a01787175503c9d6d90968046efe46e19"></a><!-- doxytag: member="libdap::parse_error" ref="a01787175503c9d6d90968046efe46e19" args="(const string &amp;msg, const int line_num, const char *context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::parse_error </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>line_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00154">154</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="parser-util_8cc_source.html#l00094">parse_error()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a01787175503c9d6d90968046efe46e19_cgraph.png" border="0" usemap="#namespacelibdap_a01787175503c9d6d90968046efe46e19_cgraph" alt=""/></div>
<map name="namespacelibdap_a01787175503c9d6d90968046efe46e19_cgraph" id="namespacelibdap_a01787175503c9d6d90968046efe46e19_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#abe3f160643e31cc5a43ab97b389a7d6f" title="libdap::parse_error" alt="" coords="268,56,479,83"/><area shape="rect" id="node5" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="533,5,845,32"/><area shape="rect" id="node7" href="structlibdap_1_1parser__arg.html#a2cb138c323c70e10bc2dd88c620da8fb" title="libdap::parser_arg::set_error" alt="" coords="533,56,845,83"/><area shape="rect" id="node9" href="structlibdap_1_1parser__arg.html#af85c0af7b6334cf672679469eb7387a4" title="libdap::parser_arg::set_status" alt="" coords="528,107,851,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a891be0a66df84d19ae4c5c614794a7e5"></a><!-- doxytag: member="libdap::parse_error" ref="a891be0a66df84d19ae4c5c614794a7e5" args="(const char *msg, const int line_num, const char *context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::parse_error </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>line_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00125">125</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="util_8cc_source.html#l00411">append_long_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="namespacelibdap_a891be0a66df84d19ae4c5c614794a7e5_cgraph.png" border="0" usemap="#namespacelibdap_a891be0a66df84d19ae4c5c614794a7e5_cgraph" alt=""/></div>
<map name="namespacelibdap_a891be0a66df84d19ae4c5c614794a7e5_cgraph" id="namespacelibdap_a891be0a66df84d19ae4c5c614794a7e5_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="267,5,579,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="abe3f160643e31cc5a43ab97b389a7d6f"></a><!-- doxytag: member="libdap::parse_error" ref="abe3f160643e31cc5a43ab97b389a7d6f" args="(parser_arg *arg, const char *msg, const int line_num, const char *context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::parse_error </td>
          <td>(</td>
          <td class="paramtype">parser_arg *&#160;</td>
          <td class="paramname"><em>arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>line_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00094">94</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="util_8cc_source.html#l00411">append_long_to_string()</a>, <a class="el" href="gse__parser_8h_source.html#l00037">FALSE</a>, <a class="el" href="parser_8h_source.html#l00097">libdap::parser_arg::set_error()</a>, <a class="el" href="parser_8h_source.html#l00105">libdap::parser_arg::set_status()</a>, and <a class="el" href="Error_8h_source.html#l00060">unknown_error</a>.</p>

<p>Referenced by <a class="el" href="parser-util_8cc_source.html#l00154">parse_error()</a>, and <a class="el" href="parser-util_8cc_source.html#l00159">save_str()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_abe3f160643e31cc5a43ab97b389a7d6f_cgraph.png" border="0" usemap="#namespacelibdap_abe3f160643e31cc5a43ab97b389a7d6f_cgraph" alt=""/></div>
<map name="namespacelibdap_abe3f160643e31cc5a43ab97b389a7d6f_cgraph" id="namespacelibdap_abe3f160643e31cc5a43ab97b389a7d6f_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="272,5,584,32"/><area shape="rect" id="node5" href="structlibdap_1_1parser__arg.html#a2cb138c323c70e10bc2dd88c620da8fb" title="libdap::parser_arg::set_error" alt="" coords="272,56,584,83"/><area shape="rect" id="node7" href="structlibdap_1_1parser__arg.html#af85c0af7b6334cf672679469eb7387a4" title="libdap::parser_arg::set_status" alt="" coords="267,107,589,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a3853818a415408fd980e8f3a9321d5d8"></a><!-- doxytag: member="libdap::parse_mime_header" ref="a3853818a415408fd980e8f3a9321d5d8" args="(const string &amp;header, string &amp;name, string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::parse_mime_header </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>header</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a string that contains a MIME header line, parse it into the the header (name) and its value. Both are downcased.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">header</td><td>The input line, striped of the ending crlf pair </td></tr>
    <tr><td class="paramname">name</td><td>A value-result parameter that holds the header name </td></tr>
    <tr><td class="paramname">value</td><td>A value-result parameter that holds the header's value. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00758">758</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="util_8cc_source.html#l00367">downcase()</a>, and <a class="el" href="mime__util_8cc_source.html#l00715">line_length</a>.</p>

<p>Referenced by <a class="el" href="mime__util_8cc_source.html#l00832">read_multipart_headers()</a>.</p>

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

</div>
</div>
<a class="anchor" id="abaf4e1a6a665dbfe9324b25ec9fa701a"></a><!-- doxytag: member="libdap::parse_time" ref="abaf4e1a6a665dbfe9324b25ec9fa701a" args="(const char *str, bool expand)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t libdap::parse_time </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>expand</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Parse a string in GMT format to a local time time_t representation Four formats are accepted: Wkd, 00 Mon 0000 00:00:00 GMT (rfc1123) Weekday, 00-Mon-00 00:00:00 GMT (rfc850) Wkd Mon 00 00:00:00 0000 GMT (ctime) 1*DIGIT (delta-seconds)</p>
<p>Copied from libwww. 09/19/02 jhrg</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>The time string. </td></tr>
    <tr><td class="paramname">expand</td><td>If the time is given in delta seconds, adjust it to seconds since midnight 1 Jan 1970 if this is true. If false, simply convert the string to a time_t and return. The default value is true. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The time in seconds since midnight 1 Jan 1970. </dd></dl>

<p>Definition at line <a class="el" href="util__mit_8cc_source.html#l00132">132</a> of file <a class="el" href="util__mit_8cc_source.html">util_mit.cc</a>.</p>

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

<p>Referenced by <a class="el" href="HTTPCacheTable_8cc_source.html#l00771">libdap::HTTPCacheTable::parse_headers()</a>, and <a class="el" href="HTTPCache_8cc_source.html#l00867">libdap::HTTPCache::set_cache_control()</a>.</p>

</div>
</div>
<a class="anchor" id="a38d9163360ace25ebe5dec96b17039ac"></a><!-- doxytag: member="libdap::path_to_filename" ref="a38d9163360ace25ebe5dec96b17039ac" args="(string path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::path_to_filename </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the filename part from a path. This function can be used to return a string that has the directory components stripped from a path. This is useful when building error message strings.</p>
<p>If WIN32 is defined, use '\' as the path separator, otherwise use '/' as the path separator.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string containing only the filename given a path. </dd></dl>

<p>Definition at line <a class="el" href="util_8cc_source.html#l00492">492</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a7c34f89476954f3a2fd0eaa1d1e8cd32"></a><!-- doxytag: member="libdap::pathname_ok" ref="a7c34f89476954f3a2fd0eaa1d1e8cd32" args="(const string &amp;path, bool strict)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::pathname_ok </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>strict</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="note"><dt><b>Note:</b></dt><dd>Using this function does not guarentee that the path is valid, only that the path <em>could</em> be valid. The intent is foil attacks where an exploit is encoded in a string then passed to a library function. This code does not address whether the pathname references a valid resource.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>The pathname to test </td></tr>
    <tr><td class="paramname">strict</td><td>Apply more restrictive tests (true by default) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the pathname consists of legal characters and is of legal size, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="util_8cc_source.html#l00545">545</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a4b1fc86f3e9e75f967ad66f07962d406"></a><!-- doxytag: member="libdap::prune_spaces" ref="a4b1fc86f3e9e75f967ad66f07962d406" args="(const string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::prune_spaces </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Removed spaces from the front of a URL and also from the front of the CE. This function assumes that there are no holes in both the URL and the CE. It will remove <em>leading</em> space, but not other spaces.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000034">Todo:</a></b></dt><dd>Is this still needed? This function may predate the switch from libwww to libcurl and the latter may not need to have spaces removed. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The URL to process </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a new string object that contains the pruned URL. </dd></dl>

<p>Definition at line <a class="el" href="util_8cc_source.html#l00096">96</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>Referenced by <a class="el" href="Connect_8cc_source.html#l00238">libdap::Connect::Connect()</a>, and <a class="el" href="parser-util_8cc_source.html#l00175">is_keyword()</a>.</p>

</div>
</div>
<a class="anchor" id="ae06585f4af69dae8595002949b3e29f5"></a><!-- doxytag: member="libdap::read_multipart_boundary" ref="ae06585f4af69dae8595002949b3e29f5" args="(FILE *in, const string &amp;boundary)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::read_multipart_boundary </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>boundary</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read the next line of input and test to see if it is a multipart MIME boundary line. If the value of boundary is the default (an empty string) then just test that the line starts with "--". In either case, return the value of boundary just read. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">boundary</td><td>Value of the boundary to look for - optional </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of teh boundary header read </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 no boundary was found. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00798">798</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00730">get_next_mime_header()</a>, and <a class="el" href="mime__util_8cc_source.html#l00781">is_boundary()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_ae06585f4af69dae8595002949b3e29f5_cgraph.png" border="0" usemap="#namespacelibdap_ae06585f4af69dae8595002949b3e29f5_cgraph" alt=""/></div>
<map name="namespacelibdap_ae06585f4af69dae8595002949b3e29f5_cgraph" id="namespacelibdap_ae06585f4af69dae8595002949b3e29f5_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a138ad983bab51cd81239f2e3d0572486" title="libdap::get_next_mime_header" alt="" coords="388,5,689,32"/><area shape="rect" id="node5" href="namespacelibdap.html#adf7e4c413496dc6047a0ea00855e78cb" title="libdap::is_boundary" alt="" coords="433,56,644,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a96c1d42b551af831c26287053386e244"></a><!-- doxytag: member="libdap::read_multipart_headers" ref="a96c1d42b551af831c26287053386e244" args="(FILE *in, const string &amp;content_type, const ObjectType object_type, const string &amp;cid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::read_multipart_headers </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>content_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ObjectType&#160;</td>
          <td class="paramname"><em>object_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>cid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Consume the Multipart MIME headers that prefix the DDX in a DataDDX response. The stream pointer is advanced to the start of the DDX. It might seem odd that this function both takes the value of the MPM boundary as a parameter _and_ returns that value as a result, but this code can be used in two different situations. In one case, it is called on a partial document read from stdin and needs to return the value of boundary to the downstream DDX parser to that code can sense the end of hte DDX. In the other case, this function is told the value of boundary and tests for it to ensure document correctness.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>Read from this stream </td></tr>
    <tr><td class="paramname">content_type</td><td>The expected value of the Content-Type header </td></tr>
    <tr><td class="paramname">object_type</td><td>The expected value of the Content-Description header </td></tr>
    <tr><td class="paramname">cid</td><td>The expected value of the Content-Id header - optional. </td></tr>
    <tr><td class="paramname">boundary</td><td>The expected value of the boundary - optional </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of the MIME boundary </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 boundary is not found or if any of the expected header values don't match. The optional values are tested only if they are given (the default values are not tested). </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00832">832</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00333">get_description_type()</a>, <a class="el" href="mime__util_8cc_source.html#l00730">get_next_mime_header()</a>, and <a class="el" href="mime__util_8cc_source.html#l00758">parse_mime_header()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a96c1d42b551af831c26287053386e244_cgraph.png" border="0" usemap="#namespacelibdap_a96c1d42b551af831c26287053386e244_cgraph" alt=""/></div>
<map name="namespacelibdap_a96c1d42b551af831c26287053386e244_cgraph" id="namespacelibdap_a96c1d42b551af831c26287053386e244_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a284c1c548cbcea75bb1b7c8374dc04e9" title="libdap::get_description_type" alt="" coords="377,5,679,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a138ad983bab51cd81239f2e3d0572486" title="libdap::get_next_mime_header" alt="" coords="377,56,679,83"/><area shape="rect" id="node7" href="namespacelibdap.html#a3853818a415408fd980e8f3a9321d5d8" title="libdap::parse_mime_header" alt="" coords="392,107,664,133"/><area shape="rect" id="node9" href="namespacelibdap.html#a7edce266869606fc7bb46124f8d63809" title="libdap::downcase" alt="" coords="729,107,911,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5eeabecdc04289ca1ed78d333f29129d"></a><!-- doxytag: member="libdap::register_functions" ref="a5eeabecdc04289ca1ed78d333f29129d" args="(ConstraintEvaluator &amp;ce)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::register_functions </td>
          <td>(</td>
          <td class="paramtype">ConstraintEvaluator &amp;&#160;</td>
          <td class="paramname"><em>ce</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l01030">1030</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>References <a class="el" href="ConstraintEvaluator_8cc_source.html#l00197">libdap::ConstraintEvaluator::add_function()</a>, <a class="el" href="namespacelibdap.html#abd2a0e965db0ed47f0206b4c646d9edd">function_geoarray()</a>, <a class="el" href="ce__functions_8cc_source.html#l00545">function_geogrid()</a>, <a class="el" href="ce__functions_8cc_source.html#l00443">function_grid()</a>, <a class="el" href="ce__functions_8cc_source.html#l00785">function_linear_scale()</a>, and <a class="el" href="ce__functions_8cc_source.html#l00324">function_version()</a>.</p>

<p>Referenced by <a class="el" href="ConstraintEvaluator_8cc_source.html#l00049">libdap::ConstraintEvaluator::ConstraintEvaluator()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a5eeabecdc04289ca1ed78d333f29129d_cgraph.png" border="0" usemap="#namespacelibdap_a5eeabecdc04289ca1ed78d333f29129d_cgraph" alt=""/></div>
<map name="namespacelibdap_a5eeabecdc04289ca1ed78d333f29129d_cgraph" id="namespacelibdap_a5eeabecdc04289ca1ed78d333f29129d_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1ConstraintEvaluator.html#ac42a51af20507806f1e04e24ed9cb0ac" title="Add a boolean function to the list." alt="" coords="336,1193,768,1220"/><area shape="rect" id="node5" href="namespacelibdap.html#abd2a0e965db0ed47f0206b4c646d9edd" title="libdap::function_geoarray" alt="" coords="416,1244,688,1270"/><area shape="rect" id="node7" href="namespacelibdap.html#a97ebb2cf77302bf3dda2934593964ec4" title="libdap::function_geogrid" alt="" coords="421,1294,683,1321"/><area shape="rect" id="node86" href="namespacelibdap.html#ad495b5febe1ea2b30f9fce7e31e98c9e" title="libdap::function_grid" alt="" coords="967,1396,1199,1422"/><area shape="rect" id="node98" href="namespacelibdap.html#acb70f051b4691bdf6d1333a2a7a442f0" title="libdap::function_linear_scale" alt="" coords="927,1750,1239,1777"/><area shape="rect" id="node126" href="namespacelibdap.html#a69a45fe57f5b17b8ab202f454b2f7556" title="libdap::function_version" alt="" coords="421,1472,683,1498"/><area shape="rect" id="node9" href="classlibdap_1_1GridGeoConstraint.html#affdc6145014a519bef4874d14716b3cf" title="libdap::GridGeoConstraint::apply_constraint_to_data" alt="" coords="817,686,1348,713"/><area shape="rect" id="node17" href="classlibdap_1_1BaseType.html#a1da003c53f2e663223f603ab3fbd7c8e" title="Read data into a local buffer." alt="" coords="2003,1016,2245,1042"/><area shape="rect" id="node19" href="classlibdap_1_1Grid.html#a905ac86a44a9d8ce576056ba244cf558" title="Returns the Grid Array. This method returns the array using an Array*, so no cast is required..." alt="" coords="1533,1142,1784,1169"/><area shape="rect" id="node49" href="classlibdap_1_1Grid.html#a2e9d2e436c0ff138a977dbba54c018eb" title="Returns an iterator referencing the first Map vector." alt="" coords="1533,1193,1784,1220"/><area shape="rect" id="node51" href="classlibdap_1_1Grid.html#aaebbf2a5329ec01b6527b4bafde87837" title="libdap::Grid::map_end" alt="" coords="1543,1244,1775,1270"/><area shape="rect" id="node58" href="classlibdap_1_1Vector.html#a58712de8871e28a48fdc95e72a09df71" title="Indicates that the data is ready to send." alt="" coords="1983,41,2265,68"/><area shape="rect" id="node68" href="namespacelibdap.html#a3c8b08223f4ea1841cf82dfc743a0d3a" title="libdap::extract_double_value" alt="" coords="1508,1750,1809,1777"/><area shape="rect" id="node72" href="classlibdap_1_1GridGeoConstraint.html#a712d428422dd23582291ba1ad13137dd" title="libdap::GridGeoConstraint::get_constrained_grid" alt="" coords="837,1092,1328,1118"/><area shape="rect" id="node74" href="structlibdap_1_1gse__arg.html#a63b69a5efec365819548d800d29b7a2a" title="libdap::gse_arg::get_gsec" alt="" coords="1523,1396,1795,1422"/><area shape="rect" id="node78" href="classlibdap_1_1BaseType.html#a0b130311c9901fb8a7ab11ea19090ef0" title="libdap::BaseType::ptr_duplicate" alt="" coords="917,1294,1248,1321"/><area shape="rect" id="node81" href="classlibdap_1_1GeoConstraint.html#a971205af9b456f4594f01aa513b6543c" title="libdap::GeoConstraint::set_bounding_box" alt="" coords="877,1345,1288,1372"/><area shape="rect" id="node84" href="classlibdap_1_1Str.html#ac4083a612e46a9ef2d1cddc2d40a955f" title="libdap::Str::set_value" alt="" coords="1537,1548,1780,1574"/><area shape="rect" id="node11" href="classlibdap_1_1Array.html#a538f7c336e26b873f50e033d553bba26" title="Adds a constraint to an Array dimension." alt="" coords="1968,117,2280,144"/><area shape="rect" id="node13" href="classlibdap_1_1Array.html#ae6e6943cd895fa8dc1c58621ffad42a0" title="libdap::Array::dim_begin" alt="" coords="1993,1662,2255,1689"/><area shape="rect" id="node15" href="classlibdap_1_1GeoConstraint.html#a74bb5010981355c8d688a2fd77613f80" title="libdap::GeoConstraint::flip_latitude_within_array" alt="" coords="1403,990,1915,1017"/><area shape="rect" id="node21" href="classlibdap_1_1GeoConstraint.html#a05febc86a7353548656d76cbe659d4ed" title="libdap::GeoConstraint::get_array_data" alt="" coords="1463,180,1855,206"/><area shape="rect" id="node23" href="classlibdap_1_1GeoConstraint.html#a93b13c51f03265b77c26c639253eb84c" title="libdap::GeoConstraint::get_array_data_size" alt="" coords="1437,230,1880,257"/><area shape="rect" id="node25" href="classlibdap_1_1GeoConstraint.html#ae1606e5fc999c32610a2ae2d60205a81" title="libdap::GeoConstraint::get_lat" alt="" coords="1497,281,1820,308"/><area shape="rect" id="node27" href="classlibdap_1_1GeoConstraint.html#a19dbb0b321d3e195a39dc086cacdfc53" title="libdap::GeoConstraint::get_lat_dim" alt="" coords="1477,332,1840,358"/><area shape="rect" id="node29" href="classlibdap_1_1GeoConstraint.html#a3f924c14bc89937c3db0b141f873b238" title="libdap::GeoConstraint::get_latitude_index_bottom" alt="" coords="1408,382,1909,409"/><area shape="rect" id="node31" href="classlibdap_1_1GeoConstraint.html#ae0593d431954560825dcd96ded2141a7" title="libdap::GeoConstraint::get_latitude_index_top" alt="" coords="1423,433,1895,460"/><area shape="rect" id="node33" href="classlibdap_1_1GeoConstraint.html#ac2f5c3f3e098c91f23e194fe7b775af8" title="libdap::GeoConstraint::get_latitude_sense" alt="" coords="1443,484,1875,510"/><area shape="rect" id="node35" href="classlibdap_1_1GeoConstraint.html#a695f79c26e7eef89c380788d3c1d5507" title="libdap::GeoConstraint::get_lon" alt="" coords="1497,534,1820,561"/><area shape="rect" id="node37" href="classlibdap_1_1GeoConstraint.html#a5eee5cc9788b429e77bfde9f10bfe751" title="libdap::GeoConstraint::get_lon_dim" alt="" coords="1477,585,1840,612"/><area shape="rect" id="node39" href="classlibdap_1_1GeoConstraint.html#a505eb309753eabe0c6a5bb3d412a3579" title="libdap::GeoConstraint::get_lon_length" alt="" coords="1463,636,1855,662"/><area shape="rect" id="node41" href="classlibdap_1_1GeoConstraint.html#a8550d6aea8efad6f197b3350c19a25dc" title="libdap::GeoConstraint::get_longitude_index_left" alt="" coords="1413,686,1904,713"/><area shape="rect" id="node43" href="classlibdap_1_1GeoConstraint.html#a8f7a2a062f1fa421de74bd41339c9e1b" title="libdap::GeoConstraint::get_longitude_index_right" alt="" coords="1408,737,1909,764"/><area shape="rect" id="node45" href="classlibdap_1_1GeoConstraint.html#aee72b66c9ca298aebea679d2c410f7a6" title="libdap::GeoConstraint::get_longitude_notation" alt="" coords="1423,788,1895,814"/><area shape="rect" id="node47" href="classlibdap_1_1GeoConstraint.html#ac572f71506b0214a755b30ba7e0def94" title="libdap::GeoConstraint::is_bounding_box_set" alt="" coords="1437,838,1880,865"/><area shape="rect" id="node54" href="classlibdap_1_1GeoConstraint.html#aa893256d558152f07e08ec6f250fa089" title="libdap::GeoConstraint::reorder_data_longitude_axis" alt="" coords="1397,78,1920,105"/><area shape="rect" id="node60" href="classlibdap_1_1GeoConstraint.html#ab2060337a35195641d6e0f667b8bf9df" title="libdap::GeoConstraint::reorder_longitude_map" alt="" coords="1428,889,1889,916"/><area shape="rect" id="node62" href="classlibdap_1_1Vector.html#a96ecf84f2798065878755d9a9014ee69" title="Reads data into the Vector buffer. Thrown if called for Structure, Sequence or Grid." alt="" coords="1533,1497,1784,1524"/><area shape="rect" id="node64" href="classlibdap_1_1Vector.html#a5990bd42b49e44c7b7da76e039896ba3" title="libdap::Vector::length" alt="" coords="2003,1573,2245,1600"/><area shape="rect" id="node66" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="2003,1776,2245,1802"/><area shape="rect" id="node92" href="classlibdap_1_1Grid.html#a0c4a5aefa252d3eab94b8a0ce5232dc6" title="libdap::Grid::ptr_duplicate" alt="" coords="1513,1345,1804,1372"/><area shape="rect" id="node95" href="classlibdap_1_1Vector.html#a64815467570490a4a6cddc89f09a2413" title="Indicates that the data is ready to send." alt="" coords="1517,1598,1800,1625"/><area shape="rect" id="node100" href="classlibdap_1_1Array.html#ac9a68fa480403f9b80285073c653570c" title="Add the BaseType pointer to this constructor type instance." alt="" coords="1537,1700,1780,1726"/><area shape="rect" id="node104" href="namespacelibdap.html#a7e55035aed27d6e56f7219405c803628" title="libdap::double_eq" alt="" coords="1563,2054,1755,2081"/><area shape="rect" id="node106" href="namespacelibdap.html#ae9717ce6442b4909dcd7add356a7ff88" title="libdap::extract_double_array" alt="" coords="1508,1953,1809,1980"/><area shape="rect" id="node108" href="classlibdap_1_1BaseType.html#a0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="2003,1978,2245,2005"/><area shape="rect" id="node112" href="classlibdap_1_1BaseType.html#aeabb771d731dbcef92fff731fb429f85" title="libdap::BaseType::get_parent" alt="" coords="1508,2105,1809,2132"/><area shape="rect" id="node118" href="classlibdap_1_1Vector.html#ac6ffab2a00584c2963c0d521ad4028b5" title="set the value of a byte array" alt="" coords="1523,1902,1795,1929"/><area shape="rect" id="node123" href="classlibdap_1_1BaseType.html#ac360679317a411d7812ca235a1528281" title="Loads class data." alt="" coords="1523,1852,1795,1878"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a84080cf0736578f62620dde0fd3f2110"></a><!-- doxytag: member="libdap::remove_mime_header" ref="a84080cf0736578f62620dde0fd3f2110" args="(FILE *in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::remove_mime_header </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>in</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read the input stream <code>in</code> and discard the MIME header. The MIME header is separated from the body of the document by a single blank line. If no MIME header is found, then the input stream is `emptied' and will contain nothing.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if a MIME header is found, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l01010">1010</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>.</p>

</div>
</div>
<a class="anchor" id="a37a24fcba1630ac658ec4c8a902dd92c"></a><!-- doxytag: member="libdap::remove_quotes" ref="a37a24fcba1630ac658ec4c8a902dd92c" args="(const string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::remove_quotes </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="util_8cc_source.html#l00380">380</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>References <a class="el" href="util_8cc_source.html#l00374">is_quoted()</a>.</p>

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

</div>
</div>
<a class="anchor" id="ac9f9538a83379c66933c2c40d90c268e"></a><!-- doxytag: member="libdap::rfc822_date" ref="ac9f9538a83379c66933c2c40d90c268e" args="(const time_t t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::rfc822_date </td>
          <td>(</td>
          <td class="paramtype">const time_t&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a constant pointer to a <code>time_t</code>, return a RFC 822/1123 style date.</p>
<p>This function returns the RFC 822 date with the exception that the RFC 1123 modification for four-digit years is implemented.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The RFC 822/1123 style date in a C++ string. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>A const <code>time_t</code> pointer. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00247">247</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>Referenced by <a class="el" href="mime__util_8cc_source.html#l00624">set_mime_binary()</a>, <a class="el" href="mime__util_8cc_source.html#l00922">set_mime_error()</a>, <a class="el" href="mime__util_8cc_source.html#l00528">set_mime_html()</a>, <a class="el" href="mime__util_8cc_source.html#l00655">set_mime_multipart()</a>, <a class="el" href="mime__util_8cc_source.html#l00966">set_mime_not_modified()</a>, and <a class="el" href="mime__util_8cc_source.html#l00429">set_mime_text()</a>.</p>

</div>
</div>
<a class="anchor" id="a79dd96d2f12a08a71d0aa3ecd42b9b47"></a><!-- doxytag: member="libdap::rops" ref="a79dd96d2f12a08a71d0aa3ecd42b9b47" args="(T1 a, T2 b, int op)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T1 , class T2 , class C &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::rops </td>
          <td>(</td>
          <td class="paramtype">T1&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T2&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This template function is used to compare two values of two instances of the DAP2 simple types (<a class="el" href="classlibdap_1_1Byte.html" title="Holds a single byte.">Byte</a>, ..., <a class="el" href="classlibdap_1_1Str.html" title="Holds character string data.">Str</a>). The function does not take the DAP2 objects as arguments; the caller must access the values of those objects and pass them to this function. The reason for this is that all the possible functions that could be generated from this template would have to be explicitly listed as friend functions in each of the DAP2 simple type classes. In the current implementation, only the simple type classes must be friends - to see why, look at <a class="el" href="classlibdap_1_1Byte.html#ad97b380875f85f6e7c3d02488f209afa" title="Evaluate relational operators.">Byte::ops</a> and note that it accesses the <code>_buf</code> member of <a class="el" href="classlibdap_1_1Int16.html" title="Holds a 16-bit signed integer value.">Int16</a>, ..., <a class="el" href="classlibdap_1_1Float64.html" title="Holds a 64-bit (double precision) floating point value.">Float64</a> and thus must be a friend of those classes.</p>
<p>NB: This would all be simpler if: 1) g++ supported template friend functions (without explicit listing of all the template's arguments). 2) we did not have unsigned types.</p>
<p>T1 The type of <code>a</code>.</p>
<p>T2 The type of <code>b</code>.</p>
<p>C A class which implements the policy used for comparing <code>a</code> and <code>b</code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>The first argument. </td></tr>
    <tr><td class="paramname">b</td><td>The second argument. </td></tr>
    <tr><td class="paramname">op</td><td>The relational operator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1Byte.html#ad97b380875f85f6e7c3d02488f209afa" title="Evaluate relational operators.">Byte::ops</a> </dd></dl>

<p>Definition at line <a class="el" href="Operators_8h_source.html#l00251">251</a> of file <a class="el" href="Operators_8h_source.html">Operators.h</a>.</p>

<p>Referenced by <a class="el" href="Byte_8cc_source.html#l00237">libdap::Byte::ops()</a>.</p>

</div>
</div>
<a class="anchor" id="a859f196112f4facae9307314c18be6f1"></a><!-- doxytag: member="libdap::save_str" ref="a859f196112f4facae9307314c18be6f1" args="(string &amp;dst, const char *src, const int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::save_str </td>
          <td>(</td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00170">170</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a88b0cc055e14caf84865c2d5730d4fb3"></a><!-- doxytag: member="libdap::save_str" ref="a88b0cc055e14caf84865c2d5730d4fb3" args="(char *dst, const char *src, const int line_num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::save_str </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>line_num</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a string (<code>const char *src</code>), save it to the temporary variable pointed to by <code>dst</code>. If the string is longer than <code>ID_MAX</code>, generate and error indicating that <code>src</code> was truncated to <code>ID_MAX</code> characters during the copy operation. There are two versions of this function; one calls the version of <code>parser_error()</code> which writes to stderr. The version which accepts the <code><a class="el" href="structlibdap_1_1parser__arg.html" title="Pass parameters by reference to a parser.">parser_arg</a> *arg</code> argument calls the version of <code>parser_error()</code> which generates and <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="parser-util_8cc_source.html#l00159">159</a> of file <a class="el" href="parser-util_8cc_source.html">parser-util.cc</a>.</p>

<p>References <a class="el" href="gse__parser_8h_source.html#l00033">ID_MAX</a>, <a class="el" href="util_8cc_source.html#l00440">long_to_string()</a>, and <a class="el" href="parser-util_8cc_source.html#l00094">parse_error()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a88b0cc055e14caf84865c2d5730d4fb3_cgraph.png" border="0" usemap="#namespacelibdap_a88b0cc055e14caf84865c2d5730d4fb3_cgraph" alt=""/></div>
<map name="namespacelibdap_a88b0cc055e14caf84865c2d5730d4fb3_cgraph" id="namespacelibdap_a88b0cc055e14caf84865c2d5730d4fb3_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="237,5,480,32"/><area shape="rect" id="node7" href="namespacelibdap.html#abe3f160643e31cc5a43ab97b389a7d6f" title="libdap::parse_error" alt="" coords="253,56,464,83"/><area shape="rect" id="node5" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="533,5,845,32"/><area shape="rect" id="node10" href="structlibdap_1_1parser__arg.html#a2cb138c323c70e10bc2dd88c620da8fb" title="libdap::parser_arg::set_error" alt="" coords="533,56,845,83"/><area shape="rect" id="node12" href="structlibdap_1_1parser__arg.html#af85c0af7b6334cf672679469eb7387a4" title="libdap::parser_arg::set_status" alt="" coords="528,107,851,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5d52ca5c40dd022353469e7b5d8a9ad4"></a><!-- doxytag: member="libdap::set_array_using_double" ref="a5d52ca5c40dd022353469e7b5d8a9ad4" args="(Array *dest, double *src, int src_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_array_using_double </td>
          <td>(</td>
          <td class="paramtype">Array *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>src_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an array that holds some sort of numeric data, load it with values using an array of doubles. This function makes several assumptions. First, it assumes the caller really wants to put the doubles into whatever types the array holds! Caveat emptor. Second, it assumes that if the size of source (<em>src</em>) array is different than the destination (<em>dest</em>) the caller has made a mistake. In that case it will throw an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object.</p>
<p>After setting that values, this method sets the <code>read_p</code> property for <em>dest</em>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td>An <a class="el" href="classlibdap_1_1Array.html" title="A multidimensional array of identical data types.">Array</a>. The values are written to this array, reusing its storage. Existing values are lost. </td></tr>
    <tr><td class="paramname">src</td><td>The source data. </td></tr>
    <tr><td class="paramname">src_len</td><td>The number of elements in the <em>src</em> array. </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>Thrown if <em>dest</em> is not a numeric-type array (<a class="el" href="classlibdap_1_1Byte.html" title="Holds a single byte.">Byte</a>, ..., <a class="el" href="classlibdap_1_1Float64.html" title="Holds a 64-bit (double precision) floating point value.">Float64</a>) or if the number of elements in <em>src</em> does not match the number is <em>dest</em>. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ce__functions_8cc_source.html#l00166">166</a> of file <a class="el" href="ce__functions_8cc_source.html">ce_functions.cc</a>.</p>

<p>References <a class="el" href="BaseType_8h_source.html#l00142">dods_array_c</a>, <a class="el" href="BaseType_8h_source.html#l00133">dods_byte_c</a>, <a class="el" href="BaseType_8h_source.html#l00138">dods_float32_c</a>, <a class="el" href="BaseType_8h_source.html#l00139">dods_float64_c</a>, <a class="el" href="BaseType_8h_source.html#l00134">dods_int16_c</a>, <a class="el" href="BaseType_8h_source.html#l00136">dods_int32_c</a>, <a class="el" href="BaseType_8h_source.html#l00140">dods_str_c</a>, <a class="el" href="BaseType_8h_source.html#l00135">dods_uint16_c</a>, <a class="el" href="BaseType_8h_source.html#l00137">dods_uint32_c</a>, <a class="el" href="BaseType_8h_source.html#l00141">dods_url_c</a>, <a class="el" href="BaseType_8cc_source.html#l00295">libdap::BaseType::is_simple_type()</a>, <a class="el" href="Vector_8cc_source.html#l00524">libdap::Vector::length()</a>, <a class="el" href="util_8cc_source.html#l00440">long_to_string()</a>, <a class="el" href="Vector_8cc_source.html#l00358">libdap::Vector::set_read_p()</a>, <a class="el" href="BaseType_8cc_source.html#l00238">libdap::BaseType::type()</a>, and <a class="el" href="Vector_8cc_source.html#l00383">libdap::Vector::var()</a>.</p>

<p>Referenced by <a class="el" href="GridGeoConstraint_8cc_source.html#l00278">libdap::GridGeoConstraint::apply_constraint_to_data()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="namespacelibdap_a5d52ca5c40dd022353469e7b5d8a9ad4_cgraph.png" border="0" usemap="#namespacelibdap_a5d52ca5c40dd022353469e7b5d8a9ad4_cgraph" alt=""/></div>
<map name="namespacelibdap_a5d52ca5c40dd022353469e7b5d8a9ad4_cgraph" id="namespacelibdap_a5d52ca5c40dd022353469e7b5d8a9ad4_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1BaseType.html#a614ce462dc6236791630f373bf75ad49" title="Returns true if the instance is a numeric, string or URL type variable." alt="" coords="377,5,719,32"/><area shape="rect" id="node5" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="1208,56,1451,83"/><area shape="rect" id="node7" href="classlibdap_1_1Vector.html#a5990bd42b49e44c7b7da76e039896ba3" title="libdap::Vector::length" alt="" coords="427,247,669,273"/><area shape="rect" id="node9" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="427,323,669,349"/><area shape="rect" id="node13" href="classlibdap_1_1Vector.html#a58712de8871e28a48fdc95e72a09df71" title="Indicates that the data is ready to send." alt="" coords="407,132,689,159"/><area shape="rect" id="node20" href="classlibdap_1_1Vector.html#aa5ccb30d1f27ae587f35216b859feec7" title="libdap::Vector::var" alt="" coords="443,196,653,223"/><area shape="rect" id="node11" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="808,360,1120,387"/><area shape="rect" id="node15" href="classlibdap_1_1BaseType.html#a4533905a450d2a7af32e7d5acd557676" title="Sets the value of the read_p property." alt="" coords="813,107,1115,133"/><area shape="rect" id="node17" href="classlibdap_1_1BaseType.html#a0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="1208,157,1451,184"/><area shape="rect" id="node22" href="classlibdap_1_1BaseType.html#a9eb6cae7f3490723180131345c85cfc7" title="Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable..." alt="" coords="768,157,1160,184"/><area shape="rect" id="node26" href="classlibdap_1_1BaseType.html#a4dc4fac1bb6083f6db645f37bfd59b85" title="Returns a pointer to a member of a constructor class." alt="" coords="848,259,1080,285"/><area shape="rect" id="node28" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="883,309,1045,336"/><area shape="rect" id="node30" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1224,309,1435,336"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae55c70a6b2073269d49dd7654d625710"></a><!-- doxytag: member="libdap::set_mime_binary" ref="ae55c70a6b2073269d49dd7654d625710" args="(ostream &amp;strm, ObjectType type, const string &amp;ver, EncodingType enc, const time_t last_modified)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_binary </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectType&#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>ver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t&#160;</td>
          <td class="paramname"><em>last_modified</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Write an HTTP 1.0 response header for our binary response document (i.e., the <a class="el" href="classlibdap_1_1DataDDS.html" title="Holds a DAP2 DDS.">DataDDS</a> object).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">strm</td><td>Write the MIME header to this stream. </td></tr>
    <tr><td class="paramname">type</td><td>The type of this this response. Defaults to application/octet-stream. </td></tr>
    <tr><td class="paramname">ver</td><td>The version string; denotes the libdap implementation version. </td></tr>
    <tr><td class="paramname">enc</td><td>How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. </td></tr>
    <tr><td class="paramname">last_modified</td><td>The time to use for the Last-Modified header value. Default is zero which means use the current time. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00624">624</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, <a class="el" href="config_8h_source.html#l00037">DAP_PROTOCOL_VERSION</a>, <a class="el" href="config_8h_source.html#l00067">DVR</a>, <a class="el" href="mime__util_8cc_source.html#l00247">rfc822_date()</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">x_plain</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l01016">libdap::DODSFilter::send_data()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a93b77fae7a3c55d69ee1641937679ab6"></a><!-- doxytag: member="libdap::set_mime_binary" ref="a93b77fae7a3c55d69ee1641937679ab6" args="(FILE *out, ObjectType type=unknown_type, const string &amp;version=&quot;&quot;, EncodingType enc=x_plain, const time_t last_modified=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_binary </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">ObjectType&#160;</td>
          <td class="paramname"><em>type</em> = <code>unknown_type</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>version</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em> = <code>x_plain</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t&#160;</td>
          <td class="paramname"><em>last_modified</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a02822649dbf10c226e3f6be5c8a89991"></a><!-- doxytag: member="libdap::set_mime_data_boundary" ref="a02822649dbf10c226e3f6be5c8a89991" args="(ostream &amp;strm, const string &amp;boundary, const string &amp;cid, ObjectType type, EncodingType enc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_data_boundary </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>boundary</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectType&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00702">702</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">x_plain</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l00958">libdap::DODSFilter::dataset_constraint_ddx()</a>.</p>

</div>
</div>
<a class="anchor" id="a387c60d25f7e78d4ced09c7907ad0662"></a><!-- doxytag: member="libdap::set_mime_ddx_boundary" ref="a387c60d25f7e78d4ced09c7907ad0662" args="(ostream &amp;strm, const string &amp;boundary, const string &amp;cid, ObjectType type, EncodingType enc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_ddx_boundary </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>boundary</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectType&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00689">689</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">x_plain</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l00958">libdap::DODSFilter::dataset_constraint_ddx()</a>.</p>

</div>
</div>
<a class="anchor" id="ab2d00f30883d50ec4c6a7e48e489f8c0"></a><!-- doxytag: member="libdap::set_mime_error" ref="ab2d00f30883d50ec4c6a7e48e489f8c0" args="(ostream &amp;strm, int code, const string &amp;reason, const string &amp;version)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_error </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Generate an HTTP 1.0 response header for an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">strm</td><td>Write the MIME header to this stream. </td></tr>
    <tr><td class="paramname">code</td><td>HTTP 1.0 response code. Should be 400, ... 500, ... </td></tr>
    <tr><td class="paramname">reason</td><td>Reason string of the HTTP 1.0 response header. </td></tr>
    <tr><td class="paramname">version</td><td>The version string; denotes the DAP spec and implementation version. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00922">922</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, <a class="el" href="config_8h_source.html#l00037">DAP_PROTOCOL_VERSION</a>, <a class="el" href="config_8h_source.html#l00067">DVR</a>, and <a class="el" href="mime__util_8cc_source.html#l00247">rfc822_date()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a1b35e30f866f98c319884ffe26b7af30"></a><!-- doxytag: member="libdap::set_mime_error" ref="a1b35e30f866f98c319884ffe26b7af30" args="(FILE *out, int code=404, const string &amp;reason=&quot;Dataset not found&quot;, const string &amp;version=&quot;&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_error </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">int&#160;</td>
          <td class="paramname"><em>code</em> = <code>404</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>reason</em> = <code>&quot;Dataset&#160;not&#160;found&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>version</em> = <code>&quot;&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a2d47123836f484835fd6d85d66ca0129"></a><!-- doxytag: member="libdap::set_mime_html" ref="a2d47123836f484835fd6d85d66ca0129" args="(ostream &amp;strm, ObjectType type, const string &amp;ver, EncodingType enc, const time_t last_modified)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_html </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectType&#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>ver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t&#160;</td>
          <td class="paramname"><em>last_modified</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Generate an HTTP 1.0 response header for a html document.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">strm</td><td>Write the MIME header to this stream. </td></tr>
    <tr><td class="paramname">type</td><td>The type of this this response. </td></tr>
    <tr><td class="paramname">ver</td><td>The version string; denotes the libdap implementation version. </td></tr>
    <tr><td class="paramname">enc</td><td>How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. </td></tr>
    <tr><td class="paramname">last_modified</td><td>The time to use for the Last-Modified header value. Default is zero which means use the current time. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00528">528</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, <a class="el" href="config_8h_source.html#l00037">DAP_PROTOCOL_VERSION</a>, <a class="el" href="ObjectType_8h_source.html#l00062">dods_error</a>, <a class="el" href="config_8h_source.html#l00067">DVR</a>, <a class="el" href="mime__util_8cc_source.html#l00247">rfc822_date()</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">x_plain</a>.</p>

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

</div>
</div>
<a class="anchor" id="a367c4b89011d16c68c42a9eee1aeea69"></a><!-- doxytag: member="libdap::set_mime_html" ref="a367c4b89011d16c68c42a9eee1aeea69" args="(FILE *out, ObjectType type=unknown_type, const string &amp;version=&quot;&quot;, EncodingType enc=x_plain, const time_t last_modified=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_html </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">ObjectType&#160;</td>
          <td class="paramname"><em>type</em> = <code>unknown_type</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>version</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em> = <code>x_plain</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t&#160;</td>
          <td class="paramname"><em>last_modified</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8e8484bd3d54c09c120cb7afcde19d1f"></a><!-- doxytag: member="libdap::set_mime_multipart" ref="a8e8484bd3d54c09c120cb7afcde19d1f" args="(ostream &amp;strm, const string &amp;boundary, const string &amp;start, ObjectType type, const string &amp;version, EncodingType enc, const time_t last_modified)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_multipart </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>boundary</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectType&#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>version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t&#160;</td>
          <td class="paramname"><em>last_modified</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00655">655</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, <a class="el" href="config_8h_source.html#l00037">DAP_PROTOCOL_VERSION</a>, <a class="el" href="config_8h_source.html#l00067">DVR</a>, <a class="el" href="mime__util_8cc_source.html#l00247">rfc822_date()</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">x_plain</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l01268">libdap::DODSFilter::send_data_ddx()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a9ff38622675d29e932726aea56525a40"></a><!-- doxytag: member="libdap::set_mime_not_modified" ref="a9ff38622675d29e932726aea56525a40" args="(ostream &amp;strm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_not_modified </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Use this function to create a response signaling that the target of a conditional get has not been modified relative to the condition given in the request. This will have to be a date until the servers support ETags.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">strm</td><td>Write the response to this stream. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00966">966</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, and <a class="el" href="mime__util_8cc_source.html#l00247">rfc822_date()</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l00726">libdap::DODSFilter::send_das()</a>, <a class="el" href="DODSFilter_8cc_source.html#l01016">libdap::DODSFilter::send_data()</a>, <a class="el" href="DODSFilter_8cc_source.html#l01268">libdap::DODSFilter::send_data_ddx()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00816">libdap::DODSFilter::send_dds()</a>, and <a class="el" href="DODSFilter_8cc_source.html#l01185">libdap::DODSFilter::send_ddx()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a46842454008837163552f30754a7388a"></a><!-- doxytag: member="libdap::set_mime_not_modified" ref="a46842454008837163552f30754a7388a" args="(FILE *out)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_not_modified </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>out</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7a785b8fcc89e5be01284c06a9dbc97d"></a><!-- doxytag: member="libdap::set_mime_text" ref="a7a785b8fcc89e5be01284c06a9dbc97d" args="(ostream &amp;strm, ObjectType type, const string &amp;ver, EncodingType enc, const time_t last_modified)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_text </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>strm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectType&#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>ver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t&#160;</td>
          <td class="paramname"><em>last_modified</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Generate an HTTP 1.0 response header for a text document. This is used when returning a serialized <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> or <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">strm</td><td>Write the MIME header to this stream. </td></tr>
    <tr><td class="paramname">type</td><td>The type of this this response. Defaults to application/octet-stream. </td></tr>
    <tr><td class="paramname">ver</td><td>The version string; denotes the libdap implementation version. </td></tr>
    <tr><td class="paramname">enc</td><td>How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. </td></tr>
    <tr><td class="paramname">last_modified</td><td>The time to use for the Last-Modified header value. Default is zero which means use the current time. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00429">429</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00086">CRLF</a>, <a class="el" href="ObjectType_8h_source.html#l00064">dap4_ddx</a>, <a class="el" href="config_8h_source.html#l00037">DAP_PROTOCOL_VERSION</a>, <a class="el" href="ObjectType_8h_source.html#l00062">dods_error</a>, <a class="el" href="config_8h_source.html#l00067">DVR</a>, <a class="el" href="mime__util_8cc_source.html#l00247">rfc822_date()</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">x_plain</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l00726">libdap::DODSFilter::send_das()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00816">libdap::DODSFilter::send_dds()</a>, and <a class="el" href="DODSFilter_8cc_source.html#l01185">libdap::DODSFilter::send_ddx()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a1038a9b27c66db35da4dd32daee52fca"></a><!-- doxytag: member="libdap::set_mime_text" ref="a1038a9b27c66db35da4dd32daee52fca" args="(FILE *out, ObjectType type=unknown_type, const string &amp;version=&quot;&quot;, EncodingType enc=x_plain, const time_t last_modified=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::set_mime_text </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">ObjectType&#160;</td>
          <td class="paramname"><em>type</em> = <code>unknown_type</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>version</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EncodingType&#160;</td>
          <td class="paramname"><em>enc</em> = <code>x_plain</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t&#160;</td>
          <td class="paramname"><em>last_modified</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a36c4fc80766718669c9790c6cb20c895"></a><!-- doxytag: member="libdap::size_ok" ref="a36c4fc80766718669c9790c6cb20c895" args="(unsigned int sz, unsigned int nelem)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::size_ok </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>sz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nelem</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">nelem</td><td>Number of elements. </td></tr>
    <tr><td class="paramname">sz</td><td>size of each element. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the <code>nelem</code> elements of <code>sz</code> size will overflow an array. </dd></dl>

<p>Definition at line <a class="el" href="util_8cc_source.html#l00523">523</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

<p>Referenced by <a class="el" href="RValue_8cc_source.html#l00093">build_btp_args()</a>.</p>

</div>
</div>
<a class="anchor" id="a6d4117c49771ce2665142ff0dd9c976b"></a><!-- doxytag: member="libdap::String_to_AttrType" ref="a6d4117c49771ce2665142ff0dd9c976b" args="(const string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacelibdap.html#ae4f907cc24469ce7b0fef9e3d7758d2a">AttrType</a> libdap::String_to_AttrType </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttrTable_8cc_source.html#l00089">89</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#l00080">Attr_byte</a>, <a class="el" href="AttrTable_8h_source.html#l00079">Attr_container</a>, <a class="el" href="AttrTable_8h_source.html#l00085">Attr_float32</a>, <a class="el" href="AttrTable_8h_source.html#l00086">Attr_float64</a>, <a class="el" href="AttrTable_8h_source.html#l00081">Attr_int16</a>, <a class="el" href="AttrTable_8h_source.html#l00083">Attr_int32</a>, <a class="el" href="AttrTable_8h_source.html#l00089">Attr_other_xml</a>, <a class="el" href="AttrTable_8h_source.html#l00087">Attr_string</a>, <a class="el" href="AttrTable_8h_source.html#l00082">Attr_uint16</a>, <a class="el" href="AttrTable_8h_source.html#l00084">Attr_uint32</a>, <a class="el" href="AttrTable_8h_source.html#l00078">Attr_unknown</a>, <a class="el" href="AttrTable_8h_source.html#l00088">Attr_url</a>, and <a class="el" href="util_8cc_source.html#l00367">downcase()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00239">libdap::AttrTable::append_attr()</a>.</p>

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

</div>
</div>
<a class="anchor" id="aa865553d4933d667330f305dcb2564b0"></a><!-- doxytag: member="libdap::systime" ref="aa865553d4933d667330f305dcb2564b0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::systime </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="util_8cc_source.html#l00354">354</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a988f63f5e1fedcf8b7802b7eaf02710c"></a><!-- doxytag: member="libdap::text_to_temp" ref="a988f63f5e1fedcf8b7802b7eaf02710c" args="(string text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FILE* libdap::text_to_temp </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>text</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4c3ce7a705067cd34a90d2481033fdb6"></a><!-- doxytag: member="libdap::unescape_double_quotes" ref="a4c3ce7a705067cd34a90d2481033fdb6" args="(string source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::unescape_double_quotes </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>source</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Rip through a string and replace all the escaped double quotes with regular double quotes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">source</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>result </dd></dl>

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00481">481</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a8ea51bd234898fe461d77dfbe3a678fe"></a><!-- doxytag: member="libdap::unescattr" ref="a8ea51bd234898fe461d77dfbe3a678fe" args="(string s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::unescattr </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Un-escape special characters, quotes and backslashes from an HDF attribute.</p>
<p>Note: A regex to match one \ must be defined as: Regex foo = "\\\\"; because both C++ strings and GNU's Regex also employ \ as an escape character!</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The escaped attribute. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The unescaped attribute. </dd></dl>

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00401">401</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, and <a class="el" href="escaping_8cc_source.html#l00111">unoctstring()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a9a3ca0a741a80db615410ac7dc3417f0"></a><!-- doxytag: member="libdap::unhexstring" ref="a9a3ca0a741a80db615410ac7dc3417f0" args="(string s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::unhexstring </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00089">89</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

<p>Referenced by <a class="el" href="escaping_8cc_source.html#l00214">www2id()</a>.</p>

</div>
</div>
<a class="anchor" id="afabf64c5d4c1900f1c05ac655895f7ee"></a><!-- doxytag: member="libdap::unique_names" ref="afabf64c5d4c1900f1c05ac655895f7ee" args="(vector&lt; BaseType * &gt; l, const string &amp;var_name, const string &amp;type_name, string &amp;msg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::unique_names </td>
          <td>(</td>
          <td class="paramtype">vector&lt; BaseType * &gt;&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>var_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>type_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="util_8cc_source.html#l00119">119</a> of file <a class="el" href="util_8cc_source.html">util.cc</a>.</p>

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

<p>Referenced by <a class="el" href="Structure_8cc_source.html#l00492">libdap::Structure::check_semantics()</a>, <a class="el" href="Sequence_8cc_source.html#l01443">libdap::Sequence::check_semantics()</a>, and <a class="el" href="DDS_8cc_source.html#l01208">libdap::DDS::check_semantics()</a>.</p>

</div>
</div>
<a class="anchor" id="a2e899171229a834bd84b7ac3bead7e63"></a><!-- doxytag: member="libdap::unit_or_name_match" ref="a2e899171229a834bd84b7ac3bead7e63" args="(set&lt; string &gt; units, set&lt; string &gt; names, const string &amp;var_units, const string &amp;var_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::unit_or_name_match </td>
          <td>(</td>
          <td class="paramtype">set&lt; string &gt;&#160;</td>
          <td class="paramname"><em>units</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">set&lt; string &gt;&#160;</td>
          <td class="paramname"><em>names</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>var_units</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>var_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Look in the containers which hold the units attributes and variable name prefixes which are considered as identifying a vector as being a latitude or longitude vector.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">units</td><td>A container with a bunch of units attribute values. </td></tr>
    <tr><td class="paramname">names</td><td>A container with a bunch of variable name prefixes. </td></tr>
    <tr><td class="paramname">var_units</td><td>The value of the 'units' attribute for this variable. </td></tr>
    <tr><td class="paramname">var_name</td><td>The name of the variable. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the units_value matches any of the accepted attributes exactly or if the name_value starts with any of the accepted prefixes </dd></dl>

<p>Definition at line <a class="el" href="GeoConstraint_8cc_source.html#l00087">87</a> of file <a class="el" href="GeoConstraint_8cc_source.html">GeoConstraint.cc</a>.</p>

</div>
</div>
<a class="anchor" id="afbc8888b9891cac063f4d77b368b1021"></a><!-- doxytag: member="libdap::unoctstring" ref="afbc8888b9891cac063f4d77b368b1021" args="(string s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::unoctstring </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00111">111</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

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

<p>Referenced by <a class="el" href="escaping_8cc_source.html#l00401">unescattr()</a>.</p>

</div>
</div>
<a class="anchor" id="a376f9593431111a80ef78c98b8f4a0e2"></a><!-- doxytag: member="libdap::www2id" ref="a376f9593431111a80ef78c98b8f4a0e2" args="(const string &amp;in, const string &amp;escape, const string &amp;except)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::www2id </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>escape</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>except</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a string that contains WWW escape sequences, translate those escape sequences back into the ASCII characters they represent. Return the modified string.</p>
<p>-Places in the dap code where <a class="el" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2">www2id()</a> is called:</p>
<ol type="1">
<li><a class="el" href="classlibdap_1_1Array.html#a00eedc1b0f4739c3624d9d3e2998f322" title="Add a dimension of a given size.">Array::append_dim()</a> the name is decoded before it is added</li>
<li><a class="el" href="classlibdap_1_1AttrTable.html#a3d09ff6bf5a12789308b20440dcaf302" title="Set the name of this attribute table.">AttrTable::set_name()</a>, <a class="el" href="classlibdap_1_1AttrTable.html#a7a526505d174c7a2f33e6b57761f8bc4" title="Add an attribute to the table.">AttrTable::append_attr()</a>, <a class="el" href="classlibdap_1_1AttrTable.html#a03f3a1197f9529d4c0328830c765cfe1" title="Add a container to the attribute table.">AttrTable::append_container()</a>, <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a>?::del_attr(), <a class="el" href="classlibdap_1_1AttrTable.html#acd28a0951ff0764a6d740fbc30d3052f" title="Add an alias to a container held by this attribute table.">AttrTable::add_container_alias()</a>, <a class="el" href="classlibdap_1_1AttrTable.html#a77971a429d7c23360fd41a4df177489c" title="Add an alias for an attribute.">AttrTable::add_value_alias()</a> names are decoded before that are set/used.</li>
<li><a class="el" href="classlibdap_1_1BaseType.html#a86504564f45a3e6748c6f1cc0ff4e9fa" title="Sets the name of the class instance.">BaseType::set_name()</a> Names are decoded before they are set</li>
<li>When the constraint expression parser looks for a variable, the name is first decoded.</li>
<li><a class="el" href="classlibdap_1_1DAS.html#a89fa25390938a00076584ff7edbc85cf">DAS::DAS()</a> Named attribute containers are decoded</li>
<li><a class="el" href="classlibdap_1_1DDS.html#a74c67b99babe3317a0f76c8d8f7ba37a">DDS::var()</a> When a <a class="el" href="classlibdap_1_1DDS.html">DDS</a> searches for a variable, the name is first decoded.</li>
<li><a class="el" href="classlibdap_1_1Grid.html#ad75c8aca61d68cc4a65430bc937ba3fc">Grid::var()</a>, <a class="el" href="classlibdap_1_1Sequence.html#ac385089cc14e10118ffba659e104d066" title="Returns a pointer to a member of a constructor class.">Sequence::var()</a>, <a class="el" href="classlibdap_1_1Structure.html#a049967f250fca1b3949bd2a1c8649890" title="Returns a pointer to a member of a constructor class.">Structure::var()</a> Variable names are decoded.</li>
</ol>
<p>-In the server code:</p>
<ol type="1">
<li><a class="el" href="classlibdap_1_1DODSFilter.html#a8ac695c5b7ebe39e2a7c8dd44079f317">DODSFilter::initialize()</a> The dataset name is decoded except that 20 is not removed.</li>
<li><a class="el" href="classlibdap_1_1DODSFilter.html#a7a3b83c758edb5ed45270004673a355d">DODSFilter::set_ce()</a> The CE is decoded, except for spaces (20).</li>
<li><a class="el" href="classlibdap_1_1DODSFilter.html#ab4aa216d0b462b2a18234a241d9b6b01">DODSFilter::set_dataset_name()</a> same logic as the first case.</li>
</ol>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>The string to modify. </td></tr>
    <tr><td class="paramname">escape</td><td>The character used to signal the beginning of an escape sequence. default: "%" </td></tr>
    <tr><td class="paramname">except</td><td>If there are some escape codes that should not be removed by this call (e.g., you might not want to remove spaces, 20) use this parameter to specify those codes. The function will then transform all escapes <em>except</em> those given. For example, to suppress translation of both spaces and the ampersand, pass "%20%26" for 'except'. default: "" </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The modified string. </dd></dl>

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00214">214</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

<p>References <a class="el" href="escaping_8cc_source.html#l00089">unhexstring()</a>.</p>

<p>Referenced by <a class="el" href="AttrTable_8cc_source.html#l00852">libdap::AttrTable::add_container_alias()</a>, <a class="el" href="AttrTable_8cc_source.html#l00884">libdap::AttrTable::add_value_alias()</a>, <a class="el" href="AttrTable_8cc_source.html#l00239">libdap::AttrTable::append_attr()</a>, <a class="el" href="AttrTable_8cc_source.html#l00369">libdap::AttrTable::append_container()</a>, <a class="el" href="Array_8cc_source.html#l00205">libdap::Array::append_dim()</a>, <a class="el" href="AttrTable_8cc_source.html#l00608">libdap::AttrTable::del_attr()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00237">libdap::DODSFilter::initialize()</a>, <a class="el" href="Array_8cc_source.html#l00230">libdap::Array::prepend_dim()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00352">libdap::DODSFilter::set_ce()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00372">libdap::DODSFilter::set_dataset_name()</a>, <a class="el" href="BaseType_8cc_source.html#l00217">libdap::BaseType::set_name()</a>, <a class="el" href="AttrTable_8cc_source.html#l00216">libdap::AttrTable::set_name()</a>, <a class="el" href="Vector_8cc_source.html#l00383">libdap::Vector::var()</a>, <a class="el" href="Structure_8cc_source.html#l00359">libdap::Structure::var()</a>, <a class="el" href="Sequence_8cc_source.html#l00355">libdap::Sequence::var()</a>, <a class="el" href="Grid_8cc_source.html#l00312">libdap::Grid::var()</a>, and <a class="el" href="DDS_8cc_source.html#l00683">libdap::DDS::var()</a>.</p>

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

</div>
</div>
<a class="anchor" id="a613e8502fe2c16fd938d1bd9065fceb0"></a><!-- doxytag: member="libdap::xml2id" ref="a613e8502fe2c16fd938d1bd9065fceb0" args="(string in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::xml2id </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>in</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given a string that contains XML escape sequences (i.e., entities), translate those back into ASCII characters. Return the modified string.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>The string to modify. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The modified string. </dd></dl>

<p>Definition at line <a class="el" href="escaping_8cc_source.html#l00316">316</a> of file <a class="el" href="escaping_8cc_source.html">escaping.cc</a>.</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="aeafd230ca250e819c46862dc43deb4fa"></a><!-- doxytag: member="libdap::dods_keep_temps" ref="aeafd230ca250e819c46862dc43deb4fa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="namespacelibdap.html#aeafd230ca250e819c46862dc43deb4fa">libdap::dods_keep_temps</a> = 0</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="HTTPConnect_8cc_source.html#l00076">76</a> of file <a class="el" href="HTTPConnect_8cc_source.html">HTTPConnect.cc</a>.</p>

<p>Referenced by <a class="el" href="getdap_8cc_source.html#l00154">main()</a>, and <a class="el" href="HTTPResponse_8h_source.html#l00107">libdap::HTTPResponse::~HTTPResponse()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b66c19fe22ad8616c2e33f94a0a9a49"></a><!-- doxytag: member="libdap::DODS_MAX_ARRAY" ref="a2b66c19fe22ad8616c2e33f94a0a9a49" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="namespacelibdap.html#a2b66c19fe22ad8616c2e33f94a0a9a49">libdap::DODS_MAX_ARRAY</a> = DODS_INT_MAX</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Array_8h_source.html#l00056">56</a> of file <a class="el" href="Array_8h_source.html">Array.h</a>.</p>

<p>Referenced by <a class="el" href="XDRStreamUnMarshaller_8cc_source.html#l00256">libdap::XDRStreamUnMarshaller::get_vector()</a>, <a class="el" href="XDRFileUnMarshaller_8cc_source.html#l00172">libdap::XDRFileUnMarshaller::get_vector()</a>, and <a class="el" href="XDRFileMarshaller_8cc_source.html#l00167">libdap::XDRFileMarshaller::put_vector()</a>.</p>

</div>
</div>
<a class="anchor" id="a867f85aa53e813ef6d0c11a5ff9588b5"></a><!-- doxytag: member="libdap::double_quote" ref="a867f85aa53e813ef6d0c11a5ff9588b5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const string <a class="el" href="namespacelibdap.html#a867f85aa53e813ef6d0c11a5ff9588b5">libdap::double_quote</a> = &quot;\&quot;&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="af4ad71f4bf4ef84acab107dd8f77749e"></a><!-- doxytag: member="libdap::line_length" ref="af4ad71f4bf4ef84acab107dd8f77749e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="namespacelibdap.html#af4ad71f4bf4ef84acab107dd8f77749e">libdap::line_length</a> = 1024</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="mime__util_8cc_source.html#l00715">715</a> of file <a class="el" href="mime__util_8cc_source.html">mime_util.cc</a>.</p>

<p>Referenced by <a class="el" href="mime__util_8cc_source.html#l00730">get_next_mime_header()</a>, and <a class="el" href="mime__util_8cc_source.html#l00758">parse_mime_header()</a>.</p>

</div>
</div>
<a class="anchor" id="aef2455580bf5deab23e48dd319ae059f"></a><!-- doxytag: member="libdap::max_str_len" ref="aef2455580bf5deab23e48dd319ae059f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const unsigned int <a class="el" href="namespacelibdap.html#aef2455580bf5deab23e48dd319ae059f">libdap::max_str_len</a> = DODS_USHRT_MAX - 1</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Str_8h_source.html#l00056">56</a> of file <a class="el" href="Str_8h_source.html">Str.h</a>.</p>

<p>Referenced by <a class="el" href="XDRStreamUnMarshaller_8cc_source.html#l00180">libdap::XDRStreamUnMarshaller::get_str()</a>, <a class="el" href="XDRFileUnMarshaller_8cc_source.html#l00140">libdap::XDRFileUnMarshaller::get_str()</a>, <a class="el" href="XDRFileMarshaller_8cc_source.html#l00138">libdap::XDRFileMarshaller::put_str()</a>, and <a class="el" href="XDRUtils_8cc_source.html#l00092">xdr_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a261bc624792c2e76fe71d669f2918b5e"></a><!-- doxytag: member="libdap::max_url_len" ref="a261bc624792c2e76fe71d669f2918b5e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const unsigned int <a class="el" href="namespacelibdap.html#a261bc624792c2e76fe71d669f2918b5e">libdap::max_url_len</a> = 255</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Url_8h_source.html#l00057">57</a> of file <a class="el" href="Url_8h_source.html">Url.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6f36b78e0590ec9e3a0583f0ecfead64"></a><!-- doxytag: member="libdap::usage" ref="a6f36b78e0590ec9e3a0583f0ecfead64" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const string <a class="el" href="namespacelibdap.html#a6f36b78e0590ec9e3a0583f0ecfead64">libdap::usage</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"><span class="stringliteral">&quot;Usage: &lt;handler name&gt; -o &lt;response&gt; -u &lt;url&gt; [options ...] [data set]\n\</span>
<span class="stringliteral">    \n\</span>
<span class="stringliteral">    options: -o &lt;response&gt;: DAS, DDS, DataDDS, DDX, BLOB or Version (Required)\n\</span>
<span class="stringliteral">    -u &lt;url&gt;: The complete URL minus the CE (required for DDX)\n\</span>
<span class="stringliteral">    -c: Compress the response using the deflate algorithm.\n\</span>
<span class="stringliteral">    -e &lt;expr&gt;: When returning a DataDDS, use &lt;expr&gt; as the constraint.\n\</span>
<span class="stringliteral">    -v &lt;version&gt;: Use &lt;version&gt; as the version number\n\</span>
<span class="stringliteral">    -d &lt;dir&gt;: Look for ancillary file in &lt;dir&gt; (deprecated).\n\</span>
<span class="stringliteral">    -f &lt;file&gt;: Look for ancillary data in &lt;file&gt; (deprecated).\n\</span>
<span class="stringliteral">    -r &lt;dir&gt;: Use &lt;dir&gt; as a cache directory\n\</span>
<span class="stringliteral">    -l &lt;time&gt;: Conditional request; if data source is unchanged since\n\</span>
<span class="stringliteral">    &lt;time&gt;, return an HTTP 304 response.\n\</span>
<span class="stringliteral">    -t &lt;seconds&gt;: Timeout the handler after &lt;seconds&gt;.\n\</span>
<span class="stringliteral">    -h: This message.&quot;</span>
</pre></div>
<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00092">92</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>Referenced by <a class="el" href="getdap_8cc_source.html#l00154">main()</a>.</p>

</div>
</div>
<a class="anchor" id="aab2a595ed5ba24c6f549093fdf645c67"></a><!-- doxytag: member="libdap::www_trace" ref="aab2a595ed5ba24c6f549093fdf645c67" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="namespacelibdap.html#aab2a595ed5ba24c6f549093fdf645c67">libdap::www_trace</a> = 0</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="HTTPConnect_8cc_source.html#l00073">73</a> of file <a class="el" href="HTTPConnect_8cc_source.html">HTTPConnect.cc</a>.</p>

<p>Referenced by <a class="el" href="getdap_8cc_source.html#l00154">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a3352d500c7a8af593b4f0d2f15608dfb"></a><!-- doxytag: member="libdap::XDR_DAP_BUFF_SIZE" ref="a3352d500c7a8af593b4f0d2f15608dfb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="namespacelibdap.html#a3352d500c7a8af593b4f0d2f15608dfb">libdap::XDR_DAP_BUFF_SIZE</a> = 4096</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XDRStreamUnMarshaller_8h_source.html#l00047">47</a> of file <a class="el" href="XDRStreamUnMarshaller_8h_source.html">XDRStreamUnMarshaller.h</a>.</p>

<p>Referenced by <a class="el" href="XDRStreamUnMarshaller_8cc_source.html#l00228">libdap::XDRStreamUnMarshaller::get_opaque()</a>, <a class="el" href="XDRStreamUnMarshaller_8cc_source.html#l00180">libdap::XDRStreamUnMarshaller::get_str()</a>, <a class="el" href="XDRStreamUnMarshaller_8cc_source.html#l00256">libdap::XDRStreamUnMarshaller::get_vector()</a>, <a class="el" href="XDRStreamMarshaller_8cc_source.html#l00250">libdap::XDRStreamMarshaller::put_opaque()</a>, <a class="el" href="XDRStreamMarshaller_8cc_source.html#l00047">libdap::XDRStreamMarshaller::XDRStreamMarshaller()</a>, and <a class="el" href="XDRStreamUnMarshaller_8cc_source.html#l00053">libdap::XDRStreamUnMarshaller::XDRStreamUnMarshaller()</a>.</p>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacelibdap.html">libdap</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>