<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Qpid Proton C++ API: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Qpid Proton C++ API
   &#160;<span id="projectnumber">0.21.0</span>
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('functions_n.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>

<h3><a id="index_n"></a>- n -</h3><ul>
<li>name()
: <a class="el" href="classproton_1_1error__condition.html#a1d89c28bd42ba9a52da008bb69367171">error_condition</a>
, <a class="el" href="classproton_1_1link.html#a1d89c28bd42ba9a52da008bb69367171">link</a>
, <a class="el" href="classproton_1_1receiver__options.html#a038ed50e63983958b13e42d49d270b88">receiver_options</a>
, <a class="el" href="classproton_1_1sender__options.html#af37454934677c6f0e8bbe8bb1087f1ed">sender_options</a>
</li>
<li>NEVER
: <a class="el" href="classproton_1_1terminus.html#a348690a43df146eca928a8c06034a1eba3a267f9424d4d555780a8d26209c8118">terminus</a>
</li>
<li>NEW
: <a class="el" href="classproton_1_1ssl.html#a0d3f14f27a1e5af0a5f378fc1a8a8de4aec34b0b90541576a22697631105dc847">ssl</a>
</li>
<li>next_type()
: <a class="el" href="classproton_1_1codec_1_1decoder.html#af3a00236ce433d05e26c0eb2ed5dfcd0">decoder</a>
</li>
<li>node_properties()
: <a class="el" href="classproton_1_1terminus.html#ab503c82e36aa618e6c6fb34feaad57b8">terminus</a>
</li>
<li>NONDURABLE
: <a class="el" href="classproton_1_1terminus.html#a61db0571ab7d1a29ad77549ff99d6b3dafdced71ad3dc05c5221439eddc3573e8">terminus</a>
</li>
<li>NONE
: <a class="el" href="structproton_1_1delivery__mode.html#a811fe196a5d9d37857c2f8adeeaac3c6ac157bdf0b85a40d2619cbc8bc1ae5fe2">delivery_mode</a>
, <a class="el" href="classproton_1_1sasl.html#af47997198e7e7301a1cd8602c7f02acdac157bdf0b85a40d2619cbc8bc1ae5fe2">sasl</a>
, <a class="el" href="classproton_1_1transfer.html#adc6e5733fc3c22f0a7b2914188c49c90ac157bdf0b85a40d2619cbc8bc1ae5fe2">transfer</a>
</li>
<li>now()
: <a class="el" href="classproton_1_1timestamp.html#a8a432817c74685a518a08ede48d1db34">timestamp</a>
</li>
<li>numeric_type
: <a class="el" href="classproton_1_1duration.html#a44829e89515fec974f57f37bbdbfaeb2">duration</a>
, <a class="el" href="classproton_1_1timestamp.html#a44829e89515fec974f57f37bbdbfaeb2">timestamp</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
