<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.15.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>pulsar-client-cpp: 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>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.js"></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" src="darkmode_toggle.js"></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 id="projectrow">
  <td id="projectalign">
   <div id="projectname">pulsar-client-cpp
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.15.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search',false);
  $(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

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

<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>acknowledge()&#160;:&#160;<a class="el" href="classpulsar_1_1_consumer.html#a3c3eb5056f228d281798f9ea75f52af9">pulsar::Consumer</a></li>
<li>acknowledgeAsync()&#160;:&#160;<a class="el" href="classpulsar_1_1_consumer.html#a03898cea6e3f07684b78cb8d9c91741c">pulsar::Consumer</a></li>
<li>acknowledgeCumulative()&#160;:&#160;<a class="el" href="classpulsar_1_1_consumer.html#a3eb0b0db2da0628da15d3f242e254f6d">pulsar::Consumer</a></li>
<li>acknowledgeCumulativeAsync()&#160;:&#160;<a class="el" href="classpulsar_1_1_consumer.html#a9595ca8b28b2986e0fca503af4d4a5d7">pulsar::Consumer</a></li>
<li>addEncryptionKey()&#160;:&#160;<a class="el" href="classpulsar_1_1_producer_configuration.html#aea7c7716b8d8e14b0e6a3b4b8ea1b2f0">pulsar::ProducerConfiguration</a></li>
<li>algorithm()&#160;:&#160;<a class="el" href="classpulsar_1_1_encryption_context.html#a7db99ba19a42a4950e763918d0c3c9d9">pulsar::EncryptionContext</a></li>
<li>authenticate()&#160;:&#160;<a class="el" href="classpulsar_1_1_oauth2_flow.html#a26ba112e97d9ce0283adaa9213f848ac">pulsar::Oauth2Flow</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
