<!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 - Functions</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_func_m.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">
&#160;

<h3><a id="index_m"></a>- m -</h3><ul>
<li>map()
: <a class="el" href="classproton_1_1map.html#a7f35c814c022f4191d359b5dc139d35b">map&lt; K, T &gt;</a>
</li>
<li>max_attempts()
: <a class="el" href="classproton_1_1reconnect__options.html#a7e6b1a75735da02638374a317a232428">reconnect_options</a>
</li>
<li>max_delay()
: <a class="el" href="classproton_1_1reconnect__options.html#a7840ff5254abe6996b44e3906cf1445b">reconnect_options</a>
</li>
<li>max_frame_size()
: <a class="el" href="classproton_1_1connection.html#a491981c839dbde2411267e0654d73c4f">connection</a>
, <a class="el" href="classproton_1_1connection__options.html#ad0e93961fd048b2ee5e8bdac2b041686">connection_options</a>
</li>
<li>max_sessions()
: <a class="el" href="classproton_1_1connection.html#a089389fc8a798fec049618c96c53444c">connection</a>
, <a class="el" href="classproton_1_1connection__options.html#af66706fdb4a2f3f4d9943be9ee4b1347">connection_options</a>
</li>
<li>mech()
: <a class="el" href="classproton_1_1sasl.html#ae4d8c99395936130ece8495be232b9c2">sasl</a>
</li>
<li>message()
: <a class="el" href="classproton_1_1message.html#aba502b8bb024cc38b45756fdf581f915">message</a>
</li>
<li>message_annotations()
: <a class="el" href="classproton_1_1message.html#a05ea365ef83130c85ffbb74498955ca3">message</a>
</li>
<li>message_id()
: <a class="el" href="classproton_1_1message__id.html#a37823024300ef4413ca077df9ddcc4d2">message_id</a>
</li>
<li>milliseconds()
: <a class="el" href="classproton_1_1duration.html#afb6516c796d13a88dcbd295247f0f535">duration</a>
, <a class="el" href="classproton_1_1timestamp.html#afb6516c796d13a88dcbd295247f0f535">timestamp</a>
</li>
<li>modify()
: <a class="el" href="classproton_1_1delivery.html#a7a2a3abb755d0d1a31414355520d054b">delivery</a>
</li>
<li>more()
: <a class="el" href="classproton_1_1codec_1_1decoder.html#aba1201662b7dccd64b782cb43e40d3e0">decoder</a>
</li>
<li>mutable_buffer()
: <a class="el" href="structproton_1_1io_1_1mutable__buffer.html#ae164359bc44e1b29a68ebc40555972c2">mutable_buffer</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>
