rdk_sys/bindings/
mol_standardize.rs1#[cxx::bridge(namespace = "RDKit")]
2pub mod ffi {
3 unsafe extern "C++" {
4 include!("cpp/include/ro_mol.h");
5 include!("cpp/include/mol_standardize.h");
6
7 pub type ROMol = crate::ro_mol_ffi::ROMol;
8 pub type RWMol = crate::rw_mol_ffi::RWMol;
9
10 pub type TautomerEnumerator;
11 pub type TautomerEnumeratorResult;
12 pub type CleanupParameters;
13 pub type Uncharger;
14
15 pub fn tautomer_enumerator() -> SharedPtr<TautomerEnumerator>;
16
17 pub fn tautomer_enumerate(
18 tautomer_enumerator: SharedPtr<TautomerEnumerator>,
19 mol: SharedPtr<ROMol>,
20 ) -> SharedPtr<TautomerEnumeratorResult>;
21 pub fn tautomer_enumerator_result_tautomers_size(
22 enumerator_result: SharedPtr<TautomerEnumeratorResult>,
23 ) -> i32;
24 pub fn tautomer_enumerator_result_tautomers_at(
25 enumerator_result: SharedPtr<TautomerEnumeratorResult>,
26 at: usize,
27 ) -> SharedPtr<ROMol>;
28 pub fn tautomer_enumerator_canonicalize(
29 tautomer_enumerator: SharedPtr<TautomerEnumerator>,
30 mol: SharedPtr<ROMol>,
31 ) -> SharedPtr<ROMol>;
32
33 pub fn default_cleanup_parameters() -> SharedPtr<CleanupParameters>;
34
35 pub fn new_uncharger(canonical: bool) -> SharedPtr<Uncharger>;
36 pub fn uncharger_uncharge(
37 uncharger: SharedPtr<Uncharger>,
38 mol: SharedPtr<ROMol>,
39 ) -> SharedPtr<ROMol>;
40
41 pub fn fragment_parent(
42 rw_mol: SharedPtr<RWMol>,
43 cleanup_params: SharedPtr<CleanupParameters>,
44 skip_standardize: bool,
45 ) -> SharedPtr<RWMol>;
46
47 pub fn normalize(
48 rw_mol: SharedPtr<RWMol>,
49 cleanup_params: SharedPtr<CleanupParameters>,
50 ) -> SharedPtr<RWMol>;
51 }
52}