datasketches-cpp
Toggle main menu visibility
Loading...
Searching...
No Matches
tuple
include
tuple_a_not_b.hpp
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one
3
* or more contributor license agreements. See the NOTICE file
4
* distributed with this work for additional information
5
* regarding copyright ownership. The ASF licenses this file
6
* to you under the Apache License, Version 2.0 (the
7
* "License"); you may not use this file except in compliance
8
* with the License. You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing,
13
* software distributed under the License is distributed on an
14
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
* KIND, either express or implied. See the License for the
16
* specific language governing permissions and limitations
17
* under the License.
18
*/
19
20
#ifndef TUPLE_A_NOT_B_HPP_
21
#define TUPLE_A_NOT_B_HPP_
22
23
#include "tuple_sketch.hpp"
24
#include "theta_set_difference_base.hpp"
25
26
namespace
datasketches
{
27
29
template
<
30
typename
Summary,
31
typename
Allocator = std::allocator<Summary>
32
>
33
class
tuple_a_not_b
{
34
public
:
35
using
Entry = std::pair<uint64_t, Summary>;
36
using
ExtractKey = pair_extract_key<uint64_t, Summary>;
37
using
CompactSketch =
compact_tuple_sketch<Summary, Allocator>
;
38
using
AllocEntry =
typename
std::allocator_traits<Allocator>::template rebind_alloc<Entry>;
39
using
State = theta_set_difference_base<Entry, ExtractKey, CompactSketch, AllocEntry>;
40
46
explicit
tuple_a_not_b
(uint64_t seed = DEFAULT_SEED,
const
Allocator& allocator = Allocator());
47
55
template
<
typename
FwdSketch,
typename
Sketch>
56
CompactSketch
compute
(FwdSketch&& a,
const
Sketch& b,
bool
ordered =
true
)
const
;
57
58
private
:
59
State state_;
60
};
61
62
}
/* namespace datasketches */
63
64
#include "tuple_a_not_b_impl.hpp"
65
66
#endif
datasketches::compact_tuple_sketch
Compact Tuple sketch.
Definition
tuple_sketch.hpp:457
datasketches::tuple_a_not_b::compute
CompactSketch compute(FwdSketch &&a, const Sketch &b, bool ordered=true) const
Computes the A-not-B set operation given two sketches.
Definition
tuple_a_not_b_impl.hpp:29
datasketches::tuple_a_not_b::tuple_a_not_b
tuple_a_not_b(uint64_t seed=DEFAULT_SEED, const Allocator &allocator=Allocator())
Constructor.
Definition
tuple_a_not_b_impl.hpp:23
datasketches
DataSketches namespace.
Definition
binomial_bounds.hpp:38
Generated by
1.18.0