Skip to main content

rdkit_sys/bridge/
scaffold_network.rs

1#[cxx::bridge(namespace = "RDKit")]
2pub mod ffi {
3    unsafe extern "C++" {
4        include!("wrapper/include/scaffold_network.h");
5
6        pub type ScaffoldNetworkParams;
7        //
8        // pub fn default_scaffold_network_params() -> SharedPtr<ScaffoldNetworkParams>;
9
10        pub fn default_scaffold_network_params() -> SharedPtr<ScaffoldNetworkParams>;
11
12        pub fn new_scaffold_network_params(
13            bond_breaker_smarts: &Vec<String>,
14        ) -> SharedPtr<ScaffoldNetworkParams>;
15
16        pub fn set_include_generic_scaffolds(
17            params: &mut SharedPtr<ScaffoldNetworkParams>,
18            input: bool,
19        );
20        pub fn include_generic_bond_scaffolds(
21            params: &mut SharedPtr<ScaffoldNetworkParams>,
22            input: bool,
23        );
24        pub fn include_scaffolds_without_attachments(
25            params: &mut SharedPtr<ScaffoldNetworkParams>,
26            input: bool,
27        );
28        pub fn include_scaffolds_with_attachments(
29            params: &mut SharedPtr<ScaffoldNetworkParams>,
30            input: bool,
31        );
32        pub fn keep_only_first_fragment(params: &mut SharedPtr<ScaffoldNetworkParams>, input: bool);
33        pub fn prune_before_fragmenting(params: &mut SharedPtr<ScaffoldNetworkParams>, input: bool);
34        pub fn flatten_isotopes(params: &mut SharedPtr<ScaffoldNetworkParams>, input: bool);
35        pub fn flatten_chirality(params: &mut SharedPtr<ScaffoldNetworkParams>, input: bool);
36        pub fn flatten_keep_largest(params: &mut SharedPtr<ScaffoldNetworkParams>, input: bool);
37        pub fn collect_mol_counts(params: &mut SharedPtr<ScaffoldNetworkParams>, input: bool);
38
39        pub type ScaffoldNetworkClass;
40        pub fn default_scaffold_network() -> SharedPtr<ScaffoldNetworkClass>;
41
42    }
43}