#[cxx::bridge(namespace = "apache_datasketches_rs")]
pub mod ffi {
unsafe extern "C++" {
include!("tuple_generic_sketch_shim.h");
include!("tuple_generic_compact_shim.h");
include!("tuple_generic_union_shim.h");
type TupleGenericSketchShim = crate::tuple_generic::ffi::TupleGenericSketchShim;
type CompactTupleGenericSketchShim =
crate::tuple_generic::ffi::CompactTupleGenericSketchShim;
type TupleGenericUnionShim;
fn new_tuple_generic_union(
lg_k: u8,
rf: u8,
p: f32,
) -> Result<UniquePtr<TupleGenericUnionShim>>;
fn update_with_sketch(
self: Pin<&mut TupleGenericUnionShim>,
sketch: &TupleGenericSketchShim,
);
fn update_with_compact(
self: Pin<&mut TupleGenericUnionShim>,
sketch: &CompactTupleGenericSketchShim,
);
fn get_result(
self: &TupleGenericUnionShim,
ordered: bool,
) -> UniquePtr<CompactTupleGenericSketchShim>;
fn reset(self: Pin<&mut TupleGenericUnionShim>);
}
}