1 // 2 // Copyright (C) 2018 Susan H. Leung 3 // 4 // @@ All Rights Reserved @@ 5 // This file is part of the RDKit. 6 // The contents are covered by the terms of the BSD license 7 // which is included in the file license.txt, found at the root 8 // of the RDKit source tree. 9 // 10 #include <RDGeneral/export.h> 11 #ifndef __RD_ACIDBASE_CATALOG_ENTRY_H__ 12 #define __RD_ACIDBASE_CATALOG_ENTRY_H__ 13 14 #include <Catalogs/CatalogEntry.h> 15 #include <GraphMol/Subgraphs/Subgraphs.h> 16 #include <GraphMol/Substruct/SubstructMatch.h> 17 #include <GraphMol/ChemReactions/Reaction.h> 18 #include "AcidBaseCatalogParams.h" 19 #include <GraphMol/RDKitBase.h> 20 21 namespace RDKit { 22 namespace MolStandardize { 23 24 class RDKIT_MOLSTANDARDIZE_EXPORT AcidBaseCatalogEntry 25 : public RDCatalog::CatalogEntry { 26 public: AcidBaseCatalogEntry()27 AcidBaseCatalogEntry() { 28 d_descrip = ""; 29 dp_props = new Dict(); 30 setBitId(-1); 31 } 32 ~AcidBaseCatalogEntry()33 ~AcidBaseCatalogEntry() override { 34 delete dp_props; 35 dp_props = nullptr; 36 } 37 38 // TODO Catalog.h requires a getOrder function getOrder()39 unsigned int getOrder() const { return 0; } // dp_mol->getNumBonds(); } 40 41 void toStream(std::ostream &ss) const override; 42 std::string Serialize() const override; 43 void initFromStream(std::istream &ss) override; 44 void initFromString(const std::string &text) override; 45 46 private: 47 std::shared_ptr<std::pair<ROMOL_SPTR, ROMOL_SPTR>> dp_pair; 48 Dict *dp_props; 49 std::string d_descrip; 50 51 }; // class AcidBaseCatalogEntry 52 53 } // namespace MolStandardize 54 } // namespace RDKit 55 56 #endif 57