|
datasketches-cpp
|
Compact Tuple sketch. More...
#include <tuple_sketch.hpp>
Public Member Functions | |
| compact_tuple_sketch (const Base &other, bool ordered) | |
| Copy constructor. More... | |
| compact_tuple_sketch (const compact_tuple_sketch &other)=default | |
| Copy constructor. More... | |
| compact_tuple_sketch (compact_tuple_sketch &&) noexcept | |
| Move constructor. More... | |
| compact_tuple_sketch & | operator= (const compact_tuple_sketch &other)=default |
| Copy assignment. More... | |
| compact_tuple_sketch & | operator= (compact_tuple_sketch &&other)=default |
| Move assignment. More... | |
| compact_tuple_sketch (const theta_sketch_alloc< AllocU64 > &other, const Summary &summary, bool ordered=true) | |
| Constructor from Theta sketch. More... | |
| virtual Allocator | get_allocator () const |
| virtual bool | is_empty () const |
| virtual bool | is_ordered () const |
| virtual uint64_t | get_theta64 () const |
| virtual uint32_t | get_num_retained () const |
| virtual uint16_t | get_seed_hash () const |
| template<typename Predicate > | |
| compact_tuple_sketch | filter (const Predicate &predicate) const |
| Produces a Compact Tuple sketch from this sketch by applying a given predicate to each entry. More... | |
| template<typename SerDe = serde<Summary>> | |
| void | serialize (std::ostream &os, const SerDe &sd=SerDe()) const |
| This method serializes the sketch into a given stream in a binary form. More... | |
| template<typename SerDe = serde<Summary>> | |
| vector_bytes | serialize (unsigned header_size_bytes=0, const SerDe &sd=SerDe()) const |
| This method serializes the sketch as a vector of bytes. More... | |
| virtual iterator | begin () |
| Iterator over entries in this sketch. More... | |
| virtual iterator | end () |
| Iterator pointing past the valid range. More... | |
| virtual const_iterator | begin () const |
| Const iterator over entries in this sketch. More... | |
| virtual const_iterator | end () const |
| Const iterator pointing past the valid range. More... | |
Public Member Functions inherited from tuple_sketch< Summary, std::allocator< Summary > > | |
| double | get_estimate () const |
| double | get_lower_bound (uint8_t num_std_devs, uint32_t num_subset_entries) const |
| Returns the approximate lower error bound given a number of standard deviations over an arbitrary number of items stored in the sketch. More... | |
| double | get_lower_bound (uint8_t num_std_devs) const |
| Returns the approximate lower error bound given a number of standard deviations. More... | |
| double | get_upper_bound (uint8_t num_std_devs, uint32_t num_subset_entries) const |
| Returns the approximate upper error bound given a number of standard deviations over an arbitrary number of items stored in the sketch. More... | |
| double | get_upper_bound (uint8_t num_std_devs) const |
| Returns the approximate upper error bound given a number of standard deviations. More... | |
| bool | is_estimation_mode () const |
| double | get_theta () const |
| string< std::allocator< Summary > > | to_string (bool print_items=false) const |
| Provides a human-readable summary of this sketch as a string. More... | |
Static Public Member Functions | |
| template<typename Sketch , typename Predicate > | |
| static compact_tuple_sketch | filter (const Sketch &sketch, const Predicate &predicate) |
| Produces a Compact Tuple sketch from a given sketch (Update or Compact) by applying a given predicate to each entry. More... | |
| template<typename SerDe = serde<Summary>> | |
| static compact_tuple_sketch | deserialize (std::istream &is, uint64_t seed=DEFAULT_SEED, const SerDe &sd=SerDe(), const Allocator &allocator=Allocator()) |
| This method deserializes a sketch from a given stream. More... | |
| template<typename SerDe = serde<Summary>> | |
| static compact_tuple_sketch | deserialize (const void *bytes, size_t size, uint64_t seed=DEFAULT_SEED, const SerDe &sd=SerDe(), const Allocator &allocator=Allocator()) |
| This method deserializes a sketch from a given array of bytes. More... | |
Protected Member Functions | |
| template<typename SerDe , typename SS = Summary, typename std::enable_if< std::is_arithmetic< SS >::value, int >::type = 0> | |
| size_t | get_serialized_size_summaries_bytes (const SerDe &sd) const |
| Computes size needed to serialize summaries in the sketch. More... | |
| template<typename SerDe , typename SS = Summary, typename std::enable_if<!std::is_arithmetic< SS >::value, int >::type = 0> | |
| size_t | get_serialized_size_summaries_bytes (const SerDe &sd) const |
| Computes size needed to serialize summaries in the sketch. More... | |
Compact Tuple sketch.
This is an immutable form of the Tuple sketch, the form that can be serialized and deserialized.
| compact_tuple_sketch | ( | const Base & | other, |
| bool | ordered | ||
| ) |
Copy constructor.
Constructs a compact sketch from another sketch (either update or compact)
| other | sketch to be copied |
| ordered | if true make the resulting sketch ordered |
|
default |
Copy constructor.
| other | sketch to be copied |
|
noexcept |
Move constructor.
| other | sketch to be moved |
| compact_tuple_sketch | ( | const theta_sketch_alloc< AllocU64 > & | other, |
| const Summary & | summary, | ||
| bool | ordered = true |
||
| ) |
Constructor from Theta sketch.
| other | Theta sketch to be constructed from |
| summary | Summary instance to be associated with each entry |
| ordered | if true make the resulting sketch ordered |
|
default |
Copy assignment.
| other | sketch to be copied |
|
default |
Move assignment.
| other | sketch to be moved |
|
virtual |
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
virtual |
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
virtual |
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
virtual |
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
virtual |
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
virtual |
Implements tuple_sketch< Summary, std::allocator< Summary > >.
| compact_tuple_sketch filter | ( | const Predicate & | predicate | ) | const |
Produces a Compact Tuple sketch from this sketch by applying a given predicate to each entry.
| predicate | should return true for the entries to keep |
|
static |
Produces a Compact Tuple sketch from a given sketch (Update or Compact) by applying a given predicate to each entry.
| sketch | input sketch |
| predicate | should return true for the entries to keep |
| void serialize | ( | std::ostream & | os, |
| const SerDe & | sd = SerDe() |
||
| ) | const |
This method serializes the sketch into a given stream in a binary form.
| os | output stream |
| sd | instance of a SerDe |
| vector_bytes serialize | ( | unsigned | header_size_bytes = 0, |
| const SerDe & | sd = SerDe() |
||
| ) | const |
This method serializes the sketch as a vector of bytes.
An optional header can be reserved in front of the sketch. It is a blank space of a given size. This header is used in Datasketches PostgreSQL extension.
| header_size_bytes | space to reserve in front of the sketch |
| sd | instance of a SerDe |
|
virtual |
Iterator over entries in this sketch.
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
virtual |
Iterator pointing past the valid range.
Not to be incremented or dereferenced.
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
virtual |
Const iterator over entries in this sketch.
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
virtual |
Const iterator pointing past the valid range.
Not to be incremented or dereferenced.
Implements tuple_sketch< Summary, std::allocator< Summary > >.
|
static |
This method deserializes a sketch from a given stream.
| is | input stream |
| seed | the seed for the hash function that was used to create the sketch |
| sd | instance of a SerDe |
| allocator | instance of an Allocator |
|
static |
This method deserializes a sketch from a given array of bytes.
| bytes | pointer to the array of bytes |
| size | the size of the array |
| seed | the seed for the hash function that was used to create the sketch |
| sd | instance of a SerDe |
| allocator | instance of an Allocator |
|
protected |
Computes size needed to serialize summaries in the sketch.
This version is for fixed-size arithmetic types (integral and floating point).
|
protected |
Computes size needed to serialize summaries in the sketch.
This version is for all other types and can be expensive since every item needs to be looked at.