|
| compact_tuple_sketch (const Base &other, bool ordered) |
| Copy constructor.
|
|
| compact_tuple_sketch (const compact_tuple_sketch &other)=default |
| Copy constructor.
|
|
| compact_tuple_sketch (compact_tuple_sketch &&) noexcept |
| Move constructor.
|
|
compact_tuple_sketch & | operator= (const compact_tuple_sketch &other)=default |
| Copy assignment.
|
|
compact_tuple_sketch & | operator= (compact_tuple_sketch &&other)=default |
| Move assignment.
|
|
| compact_tuple_sketch (const theta_sketch_alloc< AllocU64 > &other, const Summary &summary, bool ordered=true) |
| Constructor from Theta sketch.
|
|
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.
|
|
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.
|
|
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.
|
|
virtual iterator | begin () |
| Iterator over entries in this sketch.
|
|
virtual iterator | end () |
| Iterator pointing past the valid range.
|
|
virtual const_iterator | begin () const |
| Const iterator over entries in this sketch.
|
|
virtual const_iterator | end () const |
| Const iterator pointing past the valid range.
|
|
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.
|
|
double | get_lower_bound (uint8_t num_std_devs) const |
| Returns the approximate lower error bound given a number of standard deviations.
|
|
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.
|
|
double | get_upper_bound (uint8_t num_std_devs) const |
| Returns the approximate upper error bound given a number of standard deviations.
|
|
bool | is_estimation_mode () const |
|
double | get_theta () const |
|
string< Allocator > | to_string (bool print_items=false) const |
| Provides a human-readable summary of this sketch as a string.
|
|
|
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.
|
|
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.
|
|
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.
|
|
template<typename Summary, typename Allocator = std::allocator<Summary>>
class datasketches::compact_tuple_sketch< Summary, Allocator >
Compact Tuple sketch.
This is an immutable form of the Tuple sketch, the form that can be serialized and deserialized.
template<typename Summary , typename Allocator = std::allocator<Summary>>
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.
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.
- Parameters
-
header_size_bytes | space to reserve in front of the sketch |
sd | instance of a SerDe |
- Returns
- serialized sketch as a vector of bytes
template<typename Summary , typename Allocator = std::allocator<Summary>>
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 |
|
protected |
Computes size needed to serialize summaries in the sketch.
This version is for fixed-size arithmetic types (integral and floating point).
- Returns
- size in bytes needed to serialize summaries in this sketch
template<typename Summary , typename Allocator = std::allocator<Summary>>
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 |
|
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.
- Returns
- size in bytes needed to serialize summaries in this sketch