#pragma once #include "rust/cxx.h" #include #include #include namespace RDKit { using TautomerEnumerator = RDKit::MolStandardize::TautomerEnumerator; using TautomerEnumeratorResult = RDKit::MolStandardize::TautomerEnumeratorResult; using CleanupParameters = MolStandardize::CleanupParameters; using Uncharger = MolStandardize::Uncharger; std::shared_ptr tautomer_enumerator(); std::shared_ptr tautomer_enumerate(const std::shared_ptr &enumerator, const std::shared_ptr &mol); std::shared_ptr tautomer_enumerator_canonicalize(const std::shared_ptr &enumerator, const std::shared_ptr &mol); // I couldn't figure out a better way to return a vec of rolmols, check the backlog.md for more info int tautomer_enumerator_result_tautomers_size(const std::shared_ptr &enumerator_result); std::shared_ptr tautomer_enumerator_result_tautomers_at(const std::shared_ptr &enumerator_result, size_t at); // rdkit-Release_2022_03_1/Code/MinimalLib/common.h std::shared_ptr default_cleanup_parameters(); std::shared_ptr new_uncharger(bool canonical); std::shared_ptr uncharger_uncharge(const std::shared_ptr &uncharger, const std::shared_ptr &mol); std::shared_ptr fragment_parent(const std::shared_ptr &rw_mol, const std::shared_ptr &cleanup_params, bool skip_standardize); std::shared_ptr normalize(const std::shared_ptr &mol, const std::shared_ptr &cleanup_params); } // namespace RDKit