#ifndef ARRAY_TUPLE_A_NOT_B_HPP_
#define ARRAY_TUPLE_A_NOT_B_HPP_
#include <vector>
#include <memory>
#include "array_tuple_sketch.hpp"
#include "tuple_a_not_b.hpp"
namespace datasketches {
template<typename Array, typename Allocator = typename Array::allocator_type>
class array_tuple_a_not_b: tuple_a_not_b<Array, Allocator> {
public:
using Base = tuple_a_not_b<Array, Allocator>;
using CompactSketch = compact_array_tuple_sketch<Array, Allocator>;
explicit array_tuple_a_not_b(uint64_t seed = DEFAULT_SEED, const Allocator& allocator = Allocator());
template<typename FwdSketch, typename Sketch>
CompactSketch compute(FwdSketch&& a, const Sketch& b, bool ordered = true) const;
};
}
#include "array_tuple_a_not_b_impl.hpp"
#endif