#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("dndtree_wrapper.h");
type CPPDNDTree;
fn new_cpp_dndtree_from_flat_adj(
n: i32,
degrees: &[i32],
flat_neighbors: &[i32],
use_union_find: bool,
) -> UniquePtr<CPPDNDTree>;
fn insert_edge(&self, u: i32, v: i32) -> i32;
fn delete_edge(&self, u: i32, v: i32) -> i32;
fn query(&self, u: i32, v: i32) -> bool;
fn get_dsu_root(&self, u: i32) -> i32;
fn get_tree_parent(&self, u: i32) -> i32;
fn get_subtree_size(&self, u: i32) -> i32;
fn set_cpp_trace(enable: bool);
}
}