rdkit_sys/bridge/
fingerprint.rs

1#[cxx::bridge(namespace = "RDKit")]
2pub mod ffi {
3    unsafe extern "C++" {
4        include!("wrapper/include/ro_mol.h");
5        include!("wrapper/include/fingerprint.h");
6
7        pub type ROMol = crate::ro_mol_ffi::ROMol;
8        pub type ExplicitBitVect;
9        pub fn rdk_fingerprint_mol(mol: &SharedPtr<ROMol>) -> SharedPtr<ExplicitBitVect>;
10        pub fn pattern_fingerprint_mol(mol: &SharedPtr<ROMol>) -> SharedPtr<ExplicitBitVect>;
11        pub fn morgan_fingerprint_mol(mol: &SharedPtr<ROMol>) -> SharedPtr<ExplicitBitVect>;
12
13        pub fn copy_explicit_bit_vect(
14            fingerprint: &SharedPtr<ExplicitBitVect>,
15        ) -> SharedPtr<ExplicitBitVect>;
16
17        pub fn explicit_bit_vect_to_u64_vec(
18            bitvect: &SharedPtr<ExplicitBitVect>,
19        ) -> UniquePtr<CxxVector<u64>>;
20    }
21}