| <!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.9.8"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>iceberg-cpp: iceberg::StructLikeSet< kValidate > Class Template Reference</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="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> |
| <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">iceberg-cpp |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.9.8 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| var searchBox = new SearchBox("searchBox", "search/",'.html'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| /* @license-end */ |
| </script> |
| <div id="main-nav"></div> |
| <!-- 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 id="nav-path" class="navpath"> |
| <ul> |
| <li class="navelem"><b>iceberg</b></li><li class="navelem"><a class="el" href="classiceberg_1_1StructLikeSet.html">StructLikeSet</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#nested-classes">Classes</a> | |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pub-static-attribs">Static Public Attributes</a> | |
| <a href="classiceberg_1_1StructLikeSet-members.html">List of all members</a> </div> |
| <div class="headertitle"><div class="title">iceberg::StructLikeSet< kValidate > Class Template Reference</div></div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>A set of <a class="el" href="classiceberg_1_1StructLike.html" title="An immutable struct-like wrapper.">StructLike</a> rows with type-aware hashing and equality. |
| <a href="classiceberg_1_1StructLikeSet.html#details">More...</a></p> |
| |
| <p><code>#include <<a class="el" href="struct__like__set_8h_source.html">struct_like_set.h</a>></code></p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a> |
| Public Member Functions</h2></td></tr> |
| <tr class="memitem:a25fd83fa34daa37995af23e1fe2371d4" id="r_a25fd83fa34daa37995af23e1fe2371d4"><td class="memItemLeft" align="right" valign="top"><a id="a25fd83fa34daa37995af23e1fe2371d4" name="a25fd83fa34daa37995af23e1fe2371d4"></a> |
|  </td><td class="memItemRight" valign="bottom"><b>StructLikeSet</b> (const <a class="el" href="classiceberg_1_1StructType.html">StructType</a> &type, size_t arena_initial_size=kDefaultArenaInitialSize)</td></tr> |
| <tr class="memdesc:a25fd83fa34daa37995af23e1fe2371d4"><td class="mdescLeft"> </td><td class="mdescRight">Create a <a class="el" href="classiceberg_1_1StructLikeSet.html" title="A set of StructLike rows with type-aware hashing and equality.">StructLikeSet</a> for the given struct type. <br /></td></tr> |
| <tr class="separator:a25fd83fa34daa37995af23e1fe2371d4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab598fa01135056ebeb15a5be047fcb87" id="r_ab598fa01135056ebeb15a5be047fcb87"><td class="memItemLeft" align="right" valign="top"><a id="ab598fa01135056ebeb15a5be047fcb87" name="ab598fa01135056ebeb15a5be047fcb87"></a> |
| Status </td><td class="memItemRight" valign="bottom"><b>Insert</b> (const <a class="el" href="classiceberg_1_1StructLike.html">StructLike</a> &row)</td></tr> |
| <tr class="memdesc:ab598fa01135056ebeb15a5be047fcb87"><td class="mdescLeft"> </td><td class="mdescRight">Insert a row into the set. <br /></td></tr> |
| <tr class="separator:ab598fa01135056ebeb15a5be047fcb87"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aaef2732619e52c37d30fba696237240d" id="r_aaef2732619e52c37d30fba696237240d"><td class="memItemLeft" align="right" valign="top"><a id="aaef2732619e52c37d30fba696237240d" name="aaef2732619e52c37d30fba696237240d"></a> |
| Result< bool > </td><td class="memItemRight" valign="bottom"><b>Contains</b> (const <a class="el" href="classiceberg_1_1StructLike.html">StructLike</a> &row) const</td></tr> |
| <tr class="memdesc:aaef2732619e52c37d30fba696237240d"><td class="mdescLeft"> </td><td class="mdescRight">Check if the set contains a row. <br /></td></tr> |
| <tr class="separator:aaef2732619e52c37d30fba696237240d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7622bd7edb38dce767596e0bb2b31d91" id="r_a7622bd7edb38dce767596e0bb2b31d91"><td class="memItemLeft" align="right" valign="top"><a id="a7622bd7edb38dce767596e0bb2b31d91" name="a7622bd7edb38dce767596e0bb2b31d91"></a> |
| bool </td><td class="memItemRight" valign="bottom"><b>IsEmpty</b> () const</td></tr> |
| <tr class="memdesc:a7622bd7edb38dce767596e0bb2b31d91"><td class="mdescLeft"> </td><td class="mdescRight">Check if the set is empty. <br /></td></tr> |
| <tr class="separator:a7622bd7edb38dce767596e0bb2b31d91"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a660d7b87a08023c1520b8aefa5dc0ed7" id="r_a660d7b87a08023c1520b8aefa5dc0ed7"><td class="memItemLeft" align="right" valign="top"><a id="a660d7b87a08023c1520b8aefa5dc0ed7" name="a660d7b87a08023c1520b8aefa5dc0ed7"></a> |
| size_t </td><td class="memItemRight" valign="bottom"><b>Size</b> () const</td></tr> |
| <tr class="memdesc:a660d7b87a08023c1520b8aefa5dc0ed7"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of elements in the set. <br /></td></tr> |
| <tr class="separator:a660d7b87a08023c1520b8aefa5dc0ed7"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a> |
| Static Public Attributes</h2></td></tr> |
| <tr class="memitem:a5791434fb3ca58dd1970126816f50aca" id="r_a5791434fb3ca58dd1970126816f50aca"><td class="memItemLeft" align="right" valign="top"><a id="a5791434fb3ca58dd1970126816f50aca" name="a5791434fb3ca58dd1970126816f50aca"></a> |
| static constexpr size_t </td><td class="memItemRight" valign="bottom"><b>kDefaultArenaInitialSize</b> = 64 * 1024</td></tr> |
| <tr class="separator:a5791434fb3ca58dd1970126816f50aca"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><div class="compoundTemplParams">template<bool kValidate = true><br /> |
| class iceberg::StructLikeSet< kValidate ></div><p>A set of <a class="el" href="classiceberg_1_1StructLike.html" title="An immutable struct-like wrapper.">StructLike</a> rows with type-aware hashing and equality. </p> |
| <p>As <a class="el" href="classiceberg_1_1StructLike.html" title="An immutable struct-like wrapper.">StructLike</a> uses view semantics, this set makes deep copies of inserted rows into an internal arena to ensure ownership and lifetime safety. Lookups are transparent and do not require temporary allocation.</p> |
| <dl class="tparams"><dt>Template Parameters</dt><dd> |
| <table class="tparams"> |
| <tr><td class="paramname">kValidate</td><td>When true (default), Insert and Contains validate that each row's scalar types match the schema passed to the constructor. Set to false only when the caller guarantees schema conformance and the validation overhead must be avoided. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| </div><hr/>The documentation for this class was generated from the following files:<ul> |
| <li>iceberg/<a class="el" href="type__fwd_8h_source.html">type_fwd.h</a></li> |
| <li>iceberg/util/<a class="el" href="struct__like__set_8h_source.html">struct_like_set.h</a></li> |
| <li>iceberg/util/<b>struct_like_set.cc</b></li> |
| </ul> |
| </div><!-- contents --> |
| <!-- start footer part --> |
| <hr class="footer"/><address class="footer"><small> |
| Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 |
| </small></address> |
| </body> |
| </html> |