| <!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"> |
| <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.9.1"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>datasketches-cpp: cpc_sketch_alloc< A > 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 style="height: 56px;"> |
| <td id="projectalign" style="padding-left: 0.5em;"> |
| <div id="projectname">datasketches-cpp |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.9.1 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(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"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div id="nav-path" class="navpath"> |
| <ul> |
| <li class="navelem"><a class="el" href="namespacedatasketches.html">datasketches</a></li><li class="navelem"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html">cpc_sketch_alloc</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pub-static-methods">Static Public Member Functions</a> | |
| <a href="classdatasketches_1_1cpc__sketch__alloc-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">cpc_sketch_alloc< A > Class Template Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>High performance C++ implementation of Compressed Probabilistic Counting (CPC) Sketch. |
| <a href="classdatasketches_1_1cpc__sketch__alloc.html#details">More...</a></p> |
| |
| <p><code>#include <<a class="el" href="cpc__sketch_8hpp_source.html">cpc_sketch.hpp</a>></code></p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> |
| Public Member Functions</h2></td></tr> |
| <tr class="memitem:a39d6cd5eff1a9af78f58108ba5297b47"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a39d6cd5eff1a9af78f58108ba5297b47">cpc_sketch_alloc</a> (uint8_t lg_k=<a class="el" href="namespacedatasketches_1_1cpc__constants.html#a78468167a70640384c2de5e04fabe4fd">cpc_constants::DEFAULT_LG_K</a>, uint64_t seed=DEFAULT_SEED, const A &allocator=A())</td></tr> |
| <tr class="memdesc:a39d6cd5eff1a9af78f58108ba5297b47"><td class="mdescLeft"> </td><td class="mdescRight">Creates an instance of the sketch given the lg_k parameter and hash seed. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a39d6cd5eff1a9af78f58108ba5297b47">More...</a><br /></td></tr> |
| <tr class="separator:a39d6cd5eff1a9af78f58108ba5297b47"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9d85cf47c4ecd0580ec623c42006dd1b"><td class="memItemLeft" align="right" valign="top">A </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a9d85cf47c4ecd0580ec623c42006dd1b">get_allocator</a> () const</td></tr> |
| <tr class="separator:a9d85cf47c4ecd0580ec623c42006dd1b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8f8b2691781d682411a6de23996a8be2"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a8f8b2691781d682411a6de23996a8be2">get_lg_k</a> () const</td></tr> |
| <tr class="separator:a8f8b2691781d682411a6de23996a8be2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5a2b7a58dc85678d08752945ff655362"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a> () const</td></tr> |
| <tr class="separator:a5a2b7a58dc85678d08752945ff655362"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2afb71f2ef2d82290be4c8eafc08f2a2"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a2afb71f2ef2d82290be4c8eafc08f2a2">get_estimate</a> () const</td></tr> |
| <tr class="separator:a2afb71f2ef2d82290be4c8eafc08f2a2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab43d2075a173e631d757b07da971fe3d"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#ab43d2075a173e631d757b07da971fe3d">get_lower_bound</a> (unsigned kappa) const</td></tr> |
| <tr class="memdesc:ab43d2075a173e631d757b07da971fe3d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the approximate lower error bound given a parameter kappa (1, 2 or 3). <a href="classdatasketches_1_1cpc__sketch__alloc.html#ab43d2075a173e631d757b07da971fe3d">More...</a><br /></td></tr> |
| <tr class="separator:ab43d2075a173e631d757b07da971fe3d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:adbfa99fa21d0f4acb1ba00ced8d8d858"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#adbfa99fa21d0f4acb1ba00ced8d8d858">get_upper_bound</a> (unsigned kappa) const</td></tr> |
| <tr class="memdesc:adbfa99fa21d0f4acb1ba00ced8d8d858"><td class="mdescLeft"> </td><td class="mdescRight">Returns the approximate upper error bound given a parameter kappa (1, 2 or 3). <a href="classdatasketches_1_1cpc__sketch__alloc.html#adbfa99fa21d0f4acb1ba00ced8d8d858">More...</a><br /></td></tr> |
| <tr class="separator:adbfa99fa21d0f4acb1ba00ced8d8d858"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a58c0f2372495a3163616cb0f539395ea"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a58c0f2372495a3163616cb0f539395ea">update</a> (const std::string &value)</td></tr> |
| <tr class="memdesc:a58c0f2372495a3163616cb0f539395ea"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given string. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a58c0f2372495a3163616cb0f539395ea">More...</a><br /></td></tr> |
| <tr class="separator:a58c0f2372495a3163616cb0f539395ea"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5b93b5a6538ec1469b935b7d7d7bb283"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a5b93b5a6538ec1469b935b7d7d7bb283">update</a> (uint64_t value)</td></tr> |
| <tr class="memdesc:a5b93b5a6538ec1469b935b7d7d7bb283"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given unsigned 64-bit integer. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a5b93b5a6538ec1469b935b7d7d7bb283">More...</a><br /></td></tr> |
| <tr class="separator:a5b93b5a6538ec1469b935b7d7d7bb283"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a564bbb006542c4aabc7224cab656a19c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a564bbb006542c4aabc7224cab656a19c">update</a> (int64_t value)</td></tr> |
| <tr class="memdesc:a564bbb006542c4aabc7224cab656a19c"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given signed 64-bit integer. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a564bbb006542c4aabc7224cab656a19c">More...</a><br /></td></tr> |
| <tr class="separator:a564bbb006542c4aabc7224cab656a19c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab2369f0601666529b55d360fb446ae26"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#ab2369f0601666529b55d360fb446ae26">update</a> (uint32_t value)</td></tr> |
| <tr class="memdesc:ab2369f0601666529b55d360fb446ae26"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given unsigned 32-bit integer. <a href="classdatasketches_1_1cpc__sketch__alloc.html#ab2369f0601666529b55d360fb446ae26">More...</a><br /></td></tr> |
| <tr class="separator:ab2369f0601666529b55d360fb446ae26"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac54bdfccda98627655515ebf1af3c3d1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#ac54bdfccda98627655515ebf1af3c3d1">update</a> (int32_t value)</td></tr> |
| <tr class="memdesc:ac54bdfccda98627655515ebf1af3c3d1"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given signed 32-bit integer. <a href="classdatasketches_1_1cpc__sketch__alloc.html#ac54bdfccda98627655515ebf1af3c3d1">More...</a><br /></td></tr> |
| <tr class="separator:ac54bdfccda98627655515ebf1af3c3d1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af827db22dd732a88c95e6360694074a8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#af827db22dd732a88c95e6360694074a8">update</a> (uint16_t value)</td></tr> |
| <tr class="memdesc:af827db22dd732a88c95e6360694074a8"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given unsigned 16-bit integer. <a href="classdatasketches_1_1cpc__sketch__alloc.html#af827db22dd732a88c95e6360694074a8">More...</a><br /></td></tr> |
| <tr class="separator:af827db22dd732a88c95e6360694074a8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0708ab5df4e334c94e2a732aa3af3c22"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a0708ab5df4e334c94e2a732aa3af3c22">update</a> (int16_t value)</td></tr> |
| <tr class="memdesc:a0708ab5df4e334c94e2a732aa3af3c22"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given signed 16-bit integer. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a0708ab5df4e334c94e2a732aa3af3c22">More...</a><br /></td></tr> |
| <tr class="separator:a0708ab5df4e334c94e2a732aa3af3c22"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af7a5abc1ee9ff44b2801ea7fe62121f8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#af7a5abc1ee9ff44b2801ea7fe62121f8">update</a> (uint8_t value)</td></tr> |
| <tr class="memdesc:af7a5abc1ee9ff44b2801ea7fe62121f8"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given unsigned 8-bit integer. <a href="classdatasketches_1_1cpc__sketch__alloc.html#af7a5abc1ee9ff44b2801ea7fe62121f8">More...</a><br /></td></tr> |
| <tr class="separator:af7a5abc1ee9ff44b2801ea7fe62121f8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aee10d3fc511a791148f520a0a23c813a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#aee10d3fc511a791148f520a0a23c813a">update</a> (int8_t value)</td></tr> |
| <tr class="memdesc:aee10d3fc511a791148f520a0a23c813a"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given signed 8-bit integer. <a href="classdatasketches_1_1cpc__sketch__alloc.html#aee10d3fc511a791148f520a0a23c813a">More...</a><br /></td></tr> |
| <tr class="separator:aee10d3fc511a791148f520a0a23c813a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a636ac10cf089a9ab3ea89ae51377da9d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a636ac10cf089a9ab3ea89ae51377da9d">update</a> (double value)</td></tr> |
| <tr class="memdesc:a636ac10cf089a9ab3ea89ae51377da9d"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given double-precision floating point value. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a636ac10cf089a9ab3ea89ae51377da9d">More...</a><br /></td></tr> |
| <tr class="separator:a636ac10cf089a9ab3ea89ae51377da9d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a84fc45726550c65b8b21fae8bf572014"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a84fc45726550c65b8b21fae8bf572014">update</a> (float value)</td></tr> |
| <tr class="memdesc:a84fc45726550c65b8b21fae8bf572014"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with a given floating point value. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a84fc45726550c65b8b21fae8bf572014">More...</a><br /></td></tr> |
| <tr class="separator:a84fc45726550c65b8b21fae8bf572014"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab3f986e7149117648be6a0c53250208c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#ab3f986e7149117648be6a0c53250208c">update</a> (const void *value, size_t size)</td></tr> |
| <tr class="memdesc:ab3f986e7149117648be6a0c53250208c"><td class="mdescLeft"> </td><td class="mdescRight">Update this sketch with given data of any type. <a href="classdatasketches_1_1cpc__sketch__alloc.html#ab3f986e7149117648be6a0c53250208c">More...</a><br /></td></tr> |
| <tr class="separator:ab3f986e7149117648be6a0c53250208c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aed372241c10ffd041bee85602edb199a"><td class="memItemLeft" align="right" valign="top">string< A > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#aed372241c10ffd041bee85602edb199a">to_string</a> () const</td></tr> |
| <tr class="memdesc:aed372241c10ffd041bee85602edb199a"><td class="mdescLeft"> </td><td class="mdescRight">Returns a human-readable summary of this sketch. <a href="classdatasketches_1_1cpc__sketch__alloc.html#aed372241c10ffd041bee85602edb199a">More...</a><br /></td></tr> |
| <tr class="separator:aed372241c10ffd041bee85602edb199a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1bcdd98ee6e6eb9b501b8dc5de5e8924"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924">serialize</a> (std::ostream &os) const</td></tr> |
| <tr class="memdesc:a1bcdd98ee6e6eb9b501b8dc5de5e8924"><td class="mdescLeft"> </td><td class="mdescRight">This method serializes the sketch into a given stream in a binary form. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924">More...</a><br /></td></tr> |
| <tr class="separator:a1bcdd98ee6e6eb9b501b8dc5de5e8924"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1c7a57911806d47ee3cebe9fad59f836"><td class="memItemLeft" align="right" valign="top">vector_bytes </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a1c7a57911806d47ee3cebe9fad59f836">serialize</a> (unsigned header_size_bytes=0) const</td></tr> |
| <tr class="memdesc:a1c7a57911806d47ee3cebe9fad59f836"><td class="mdescLeft"> </td><td class="mdescRight">This method serializes the sketch as a vector of bytes. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a1c7a57911806d47ee3cebe9fad59f836">More...</a><br /></td></tr> |
| <tr class="separator:a1c7a57911806d47ee3cebe9fad59f836"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> |
| Static Public Member Functions</h2></td></tr> |
| <tr class="memitem:a54ceaffd48627a356af3f72a7cc1d4ae"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html">cpc_sketch_alloc</a>< A > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a54ceaffd48627a356af3f72a7cc1d4ae">deserialize</a> (std::istream &is, uint64_t seed=DEFAULT_SEED, const A &allocator=A())</td></tr> |
| <tr class="memdesc:a54ceaffd48627a356af3f72a7cc1d4ae"><td class="mdescLeft"> </td><td class="mdescRight">This method deserializes a sketch from a given stream. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a54ceaffd48627a356af3f72a7cc1d4ae">More...</a><br /></td></tr> |
| <tr class="separator:a54ceaffd48627a356af3f72a7cc1d4ae"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a377b9d3804183254b0e77ee18d370e07"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html">cpc_sketch_alloc</a>< A > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a377b9d3804183254b0e77ee18d370e07">deserialize</a> (const void *bytes, size_t size, uint64_t seed=DEFAULT_SEED, const A &allocator=A())</td></tr> |
| <tr class="memdesc:a377b9d3804183254b0e77ee18d370e07"><td class="mdescLeft"> </td><td class="mdescRight">This method deserializes a sketch from a given array of bytes. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a377b9d3804183254b0e77ee18d370e07">More...</a><br /></td></tr> |
| <tr class="separator:a377b9d3804183254b0e77ee18d370e07"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7fcd4a0f58526cadbf7557c5c7f540dc"><td class="memItemLeft" align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#a7fcd4a0f58526cadbf7557c5c7f540dc">get_max_serialized_size_bytes</a> (uint8_t lg_k)</td></tr> |
| <tr class="memdesc:a7fcd4a0f58526cadbf7557c5c7f540dc"><td class="mdescLeft"> </td><td class="mdescRight">The actual size of a compressed CPC sketch has a small random variance, but the following empirically measured size should be large enough for at least 99.9 percent of sketches. <a href="classdatasketches_1_1cpc__sketch__alloc.html#a7fcd4a0f58526cadbf7557c5c7f540dc">More...</a><br /></td></tr> |
| <tr class="separator:a7fcd4a0f58526cadbf7557c5c7f540dc"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><h3>template<typename A><br /> |
| class datasketches::cpc_sketch_alloc< A ></h3> |
| |
| <p>High performance C++ implementation of Compressed Probabilistic Counting (CPC) Sketch. </p> |
| <p>This is a very compact (in serialized form) distinct counting sketch. The theory is described in the following paper: <a href="https://arxiv.org/abs/1708.06839">https://arxiv.org/abs/1708.06839</a></p> |
| <dl class="section author"><dt>Author</dt><dd>Kevin Lang </dd> |
| <dd> |
| Alexander Saydakov </dd></dl> |
| </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a id="a39d6cd5eff1a9af78f58108ba5297b47"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a39d6cd5eff1a9af78f58108ba5297b47">◆ </a></span>cpc_sketch_alloc()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html">cpc_sketch_alloc</a> </td> |
| <td>(</td> |
| <td class="paramtype">uint8_t </td> |
| <td class="paramname"><em>lg_k</em> = <code><a class="el" href="namespacedatasketches_1_1cpc__constants.html#a78468167a70640384c2de5e04fabe4fd">cpc_constants::DEFAULT_LG_K</a></code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">uint64_t </td> |
| <td class="paramname"><em>seed</em> = <code>DEFAULT_SEED</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const A & </td> |
| <td class="paramname"><em>allocator</em> = <code>A()</code> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">explicit</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Creates an instance of the sketch given the lg_k parameter and hash seed. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">lg_k</td><td>base 2 logarithm of the number of bins in the sketch </td></tr> |
| <tr><td class="paramname">seed</td><td>for hash function </td></tr> |
| <tr><td class="paramname">allocator</td><td>instance of an allocator </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a id="a9d85cf47c4ecd0580ec623c42006dd1b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a9d85cf47c4ecd0580ec623c42006dd1b">◆ </a></span>get_allocator()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">A get_allocator</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="section return"><dt>Returns</dt><dd>allocator </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a8f8b2691781d682411a6de23996a8be2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a8f8b2691781d682411a6de23996a8be2">◆ </a></span>get_lg_k()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">uint8_t get_lg_k</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="section return"><dt>Returns</dt><dd>configured lg_k of this sketch </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a5a2b7a58dc85678d08752945ff655362"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a5a2b7a58dc85678d08752945ff655362">◆ </a></span>is_empty()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">bool is_empty</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="section return"><dt>Returns</dt><dd>true if this sketch represents an empty set </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a2afb71f2ef2d82290be4c8eafc08f2a2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2afb71f2ef2d82290be4c8eafc08f2a2">◆ </a></span>get_estimate()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">double get_estimate</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="section return"><dt>Returns</dt><dd>estimate of the distinct count of the input stream </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ab43d2075a173e631d757b07da971fe3d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab43d2075a173e631d757b07da971fe3d">◆ </a></span>get_lower_bound()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">double get_lower_bound </td> |
| <td>(</td> |
| <td class="paramtype">unsigned </td> |
| <td class="paramname"><em>kappa</em></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns the approximate lower error bound given a parameter kappa (1, 2 or 3). </p> |
| <p>This parameter is similar to the number of standard deviations of the normal distribution and corresponds to approximately 67%, 95% and 99% confidence intervals. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">kappa</td><td>parameter to specify confidence interval (1, 2 or 3) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>the lower bound </dd></dl> |
| |
| </div> |
| </div> |
| <a id="adbfa99fa21d0f4acb1ba00ced8d8d858"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#adbfa99fa21d0f4acb1ba00ced8d8d858">◆ </a></span>get_upper_bound()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">double get_upper_bound </td> |
| <td>(</td> |
| <td class="paramtype">unsigned </td> |
| <td class="paramname"><em>kappa</em></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns the approximate upper error bound given a parameter kappa (1, 2 or 3). </p> |
| <p>This parameter is similar to the number of standard deviations of the normal distribution and corresponds to approximately 67%, 95% and 99% confidence intervals. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">kappa</td><td>parameter to specify confidence interval (1, 2 or 3) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>the upper bound </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a58c0f2372495a3163616cb0f539395ea"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a58c0f2372495a3163616cb0f539395ea">◆ </a></span>update() <span class="overload">[1/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given string. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>string to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a5b93b5a6538ec1469b935b7d7d7bb283"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a5b93b5a6538ec1469b935b7d7d7bb283">◆ </a></span>update() <span class="overload">[2/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">uint64_t </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given unsigned 64-bit integer. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>uint64_t to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a564bbb006542c4aabc7224cab656a19c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a564bbb006542c4aabc7224cab656a19c">◆ </a></span>update() <span class="overload">[3/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given signed 64-bit integer. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>int64_t to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ab2369f0601666529b55d360fb446ae26"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab2369f0601666529b55d360fb446ae26">◆ </a></span>update() <span class="overload">[4/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">uint32_t </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given unsigned 32-bit integer. </p> |
| <p>For compatibility with Java implementation. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>uint32_t to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ac54bdfccda98627655515ebf1af3c3d1"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ac54bdfccda98627655515ebf1af3c3d1">◆ </a></span>update() <span class="overload">[5/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">int32_t </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given signed 32-bit integer. </p> |
| <p>For compatibility with Java implementation. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>int32_t to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="af827db22dd732a88c95e6360694074a8"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af827db22dd732a88c95e6360694074a8">◆ </a></span>update() <span class="overload">[6/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">uint16_t </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given unsigned 16-bit integer. </p> |
| <p>For compatibility with Java implementation. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>uint16_t to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a0708ab5df4e334c94e2a732aa3af3c22"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a0708ab5df4e334c94e2a732aa3af3c22">◆ </a></span>update() <span class="overload">[7/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">int16_t </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given signed 16-bit integer. </p> |
| <p>For compatibility with Java implementation. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>int16_t to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="af7a5abc1ee9ff44b2801ea7fe62121f8"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af7a5abc1ee9ff44b2801ea7fe62121f8">◆ </a></span>update() <span class="overload">[8/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">uint8_t </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given unsigned 8-bit integer. </p> |
| <p>For compatibility with Java implementation. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>uint8_t to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="aee10d3fc511a791148f520a0a23c813a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aee10d3fc511a791148f520a0a23c813a">◆ </a></span>update() <span class="overload">[9/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">int8_t </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given signed 8-bit integer. </p> |
| <p>For compatibility with Java implementation. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>int8_t to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a636ac10cf089a9ab3ea89ae51377da9d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a636ac10cf089a9ab3ea89ae51377da9d">◆ </a></span>update() <span class="overload">[10/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">double </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given double-precision floating point value. </p> |
| <p>For compatibility with Java implementation. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>double to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a84fc45726550c65b8b21fae8bf572014"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a84fc45726550c65b8b21fae8bf572014">◆ </a></span>update() <span class="overload">[11/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">float </td> |
| <td class="paramname"><em>value</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with a given floating point value. </p> |
| <p>For compatibility with Java implementation. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>float to update the sketch with </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ab3f986e7149117648be6a0c53250208c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab3f986e7149117648be6a0c53250208c">◆ </a></span>update() <span class="overload">[12/12]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void update </td> |
| <td>(</td> |
| <td class="paramtype">const void * </td> |
| <td class="paramname"><em>value</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">size_t </td> |
| <td class="paramname"><em>size</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Update this sketch with given data of any type. </p> |
| <p>This is a "universal" update that covers all cases above, but may produce different hashes. Be very careful to hash input values consistently using the same approach both over time and on different platforms and while passing sketches between C++ environment and Java environment. Otherwise two sketches that should represent overlapping sets will be disjoint For instance, for signed 32-bit values call <a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html#ac54bdfccda98627655515ebf1af3c3d1" title="Update this sketch with a given signed 32-bit integer.">update(int32_t)</a> method above, which does widening conversion to int64_t, if compatibility with Java is expected </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">value</td><td>pointer to the data </td></tr> |
| <tr><td class="paramname">size</td><td>of the data in bytes </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="aed372241c10ffd041bee85602edb199a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aed372241c10ffd041bee85602edb199a">◆ </a></span>to_string()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">string< A > to_string</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns a human-readable summary of this sketch. </p> |
| <dl class="section return"><dt>Returns</dt><dd>a human-readable summary of this sketch </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a1bcdd98ee6e6eb9b501b8dc5de5e8924"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a1bcdd98ee6e6eb9b501b8dc5de5e8924">◆ </a></span>serialize() <span class="overload">[1/2]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void serialize </td> |
| <td>(</td> |
| <td class="paramtype">std::ostream & </td> |
| <td class="paramname"><em>os</em></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>This method serializes the sketch into a given stream in a binary form. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">os</td><td>output stream </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a1c7a57911806d47ee3cebe9fad59f836"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a1c7a57911806d47ee3cebe9fad59f836">◆ </a></span>serialize() <span class="overload">[2/2]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">auto serialize </td> |
| <td>(</td> |
| <td class="paramtype">unsigned </td> |
| <td class="paramname"><em>header_size_bytes</em> = <code>0</code></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>This method serializes the sketch as a vector of bytes. </p> |
| <p>An optional header can be reserved in front of the sketch. It is an uninitialized space of a given size. This header is used in Datasketches PostgreSQL extension. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">header_size_bytes</td><td>space to reserve in front of the sketch </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>serialized sketch as a vector of bytes </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a54ceaffd48627a356af3f72a7cc1d4ae"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a54ceaffd48627a356af3f72a7cc1d4ae">◆ </a></span>deserialize() <span class="overload">[1/2]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html">cpc_sketch_alloc</a>< A > deserialize </td> |
| <td>(</td> |
| <td class="paramtype">std::istream & </td> |
| <td class="paramname"><em>is</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">uint64_t </td> |
| <td class="paramname"><em>seed</em> = <code>DEFAULT_SEED</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const A & </td> |
| <td class="paramname"><em>allocator</em> = <code>A()</code> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>This method deserializes a sketch from a given stream. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">is</td><td>input stream </td></tr> |
| <tr><td class="paramname">seed</td><td>the seed for the hash function that was used to create the sketch </td></tr> |
| <tr><td class="paramname">allocator</td><td>instance of an Allocator </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>an instance of a sketch </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a377b9d3804183254b0e77ee18d370e07"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a377b9d3804183254b0e77ee18d370e07">◆ </a></span>deserialize() <span class="overload">[2/2]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html">cpc_sketch_alloc</a>< A > deserialize </td> |
| <td>(</td> |
| <td class="paramtype">const void * </td> |
| <td class="paramname"><em>bytes</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">size_t </td> |
| <td class="paramname"><em>size</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">uint64_t </td> |
| <td class="paramname"><em>seed</em> = <code>DEFAULT_SEED</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const A & </td> |
| <td class="paramname"><em>allocator</em> = <code>A()</code> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>This method deserializes a sketch from a given array of bytes. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">bytes</td><td>pointer to the array of bytes </td></tr> |
| <tr><td class="paramname">size</td><td>the size of the array </td></tr> |
| <tr><td class="paramname">seed</td><td>the seed for the hash function that was used to create the sketch </td></tr> |
| <tr><td class="paramname">allocator</td><td>instance of an Allocator </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>an instance of the sketch </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a7fcd4a0f58526cadbf7557c5c7f540dc"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a7fcd4a0f58526cadbf7557c5c7f540dc">◆ </a></span>get_max_serialized_size_bytes()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">size_t get_max_serialized_size_bytes </td> |
| <td>(</td> |
| <td class="paramtype">uint8_t </td> |
| <td class="paramname"><em>lg_k</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>The actual size of a compressed CPC sketch has a small random variance, but the following empirically measured size should be large enough for at least 99.9 percent of sketches. </p> |
| <p>For small values of <em>n</em> the size can be much smaller.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">lg_k</td><td>the given value of lg_k. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>the estimated maximum compressed serialized size of a sketch. </dd></dl> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following files:<ul> |
| <li>cpc/include/<a class="el" href="cpc__compressor_8hpp_source.html">cpc_compressor.hpp</a></li> |
| <li>cpc/include/<a class="el" href="cpc__sketch_8hpp_source.html">cpc_sketch.hpp</a></li> |
| <li>cpc/include/<a class="el" href="cpc__sketch__impl_8hpp_source.html">cpc_sketch_impl.hpp</a></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.1 |
| </small></address> |
| </body> |
| </html> |