#pragma once #include "rust/cxx.h" #include #include #include #include #include #include #include #include #include namespace RDKit { std::shared_ptr copy_mol(std::shared_ptr mol); std::shared_ptr smiles_to_mol(const std::string &smiles); rust::String mol_to_smiles(std::shared_ptr mol); std::shared_ptr smiles_to_mol_with_params(const std::string &smiles, std::shared_ptr params); std::shared_ptr new_smiles_parser_params(); void smiles_parser_params_set_sanitize(std::shared_ptr params, bool sanitize); std::unique_ptr> detect_chemistry_problems(std::shared_ptr mol); unsigned int get_num_atoms(std::shared_ptr mol); std::shared_ptr get_atom_with_idx(std::shared_ptr mol, size_t idx); }