rdkit_sys/bridge/
rw_mol.rs

1#[cxx::bridge(namespace = "RDKit")]
2pub mod ffi {
3    unsafe extern "C++" {
4        include!("wrapper/include/ro_mol.h");
5        include!("wrapper/include/rw_mol.h");
6
7        pub type RWMol;
8        pub type ROMol = crate::ro_mol_ffi::ROMol;
9
10        pub fn rw_mol_from_mol_block(
11            mol_block: &CxxString,
12            sanitize: bool,
13            remove_hs: bool,
14            strict_parsing: bool,
15        ) -> SharedPtr<RWMol>;
16
17        pub fn rw_mol_from_ro_mol(
18            mol: &SharedPtr<ROMol>,
19            quick_copy: bool,
20            conf_id: i32,
21        ) -> SharedPtr<RWMol>;
22
23        pub fn rw_mol_from_rw_mol(mol: &SharedPtr<RWMol>) -> SharedPtr<RWMol>;
24
25        pub fn rw_mol_to_ro_mol(mol: SharedPtr<RWMol>) -> SharedPtr<ROMol>;
26
27        pub fn smarts_to_mol(smarts: &CxxString) -> Result<SharedPtr<RWMol>>;
28    }
29}