datasketches-cpp
array_tuple_intersection.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 ARRAY_TUPLE_INTERSECTION_HPP_
21 #define ARRAY_TUPLE_INTERSECTION_HPP_
22 
23 #include <vector>
24 #include <memory>
25 
26 #include "array_tuple_sketch.hpp"
27 #include "tuple_intersection.hpp"
28 
29 namespace datasketches {
30 
32 template<
33  typename Array,
34  typename Policy,
35  typename Allocator = typename Array::allocator_type
36 >
37 class array_tuple_intersection: public tuple_intersection<Array, Policy, Allocator> {
38 public:
41  using resize_factor = theta_constants::resize_factor;
42 
49  explicit array_tuple_intersection(uint64_t seed = DEFAULT_SEED, const Policy& policy = Policy(), const Allocator& allocator = Allocator());
50 
58  CompactSketch get_result(bool ordered = true) const;
59 };
60 
61 } /* namespace datasketches */
62 
63 #include "array_tuple_intersection_impl.hpp"
64 
65 #endif
array tuple intersection
Definition: array_tuple_intersection.hpp:37
CompactSketch get_result(bool ordered=true) const
Produces a copy of the current state of the intersection.
Definition: array_tuple_intersection_impl.hpp:27
array_tuple_intersection(uint64_t seed=DEFAULT_SEED, const Policy &policy=Policy(), const Allocator &allocator=Allocator())
Constructor.
Definition: array_tuple_intersection_impl.hpp:23
Compact array tuple sketch.
Definition: array_tuple_sketch.hpp:163
Tuple intersection.
Definition: tuple_intersection.hpp:47
datasketches::resize_factor resize_factor
hash table resize factor
Definition: theta_constants.hpp:31
DataSketches namespace.
Definition: binomial_bounds.hpp:38