Loading...
Searching...
No Matches
tautomer.h
Go to the documentation of this file.
/**********************************************************************
tautomer.h - Tautomer support
Copyright (C) 2011,2020 by Tim Vandermeersch
This file is part of the Open Babel project.
For more information, see <http://openbabel.org/>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
***********************************************************************/
#include <openbabel/babelconfig.h>
#ifndef OBAPI
#define OBAPI
#endif
#include <string>
#include <vector>
namespace OpenBabel {
class OBMol;
class OBAPI TautomerFunctor
{
public:
virtual ~TautomerFunctor() {}
virtual void operator()(OBMol *mol) = 0;
};
class OBAPI UniqueTautomerFunctor : public TautomerFunctor
{
public:
virtual ~UniqueTautomerFunctor() {}
void operator()(OBMol *mol);
virtual void operator()(OBMol *mol, const std::string &smiles) = 0;
private:
std::vector<std::string> m_smiles;
};
void OBAPI EnumerateTautomers(OBMol *mol, TautomerFunctor &functor);
void OBAPI CanonicalTautomer(OBMol *mol);
}
OpenBabel::OBMol
Molecule Class.
Definition mol.h:121
OpenBabel::TautomerFunctor
Definition tautomer.h:67
OpenBabel::TautomerFunctor::operator()
virtual void operator()(OBMol *mol)=0
OpenBabel::TautomerFunctor::~TautomerFunctor
virtual ~TautomerFunctor()
Definition tautomer.h:69
OpenBabel::UniqueTautomerFunctor
Definition tautomer.h:105
OpenBabel::UniqueTautomerFunctor::operator()
virtual void operator()(OBMol *mol, const std::string &smiles)=0
OpenBabel::UniqueTautomerFunctor::~UniqueTautomerFunctor
virtual ~UniqueTautomerFunctor()
Definition tautomer.h:107
OpenBabel
Global namespace for all Open Babel code.
Definition alias.h:23
OpenBabel::EnumerateTautomers
void EnumerateTautomers(OBMol *mol, TautomerFunctor &functor)
Definition tautomer.cpp:870
OpenBabel::CanonicalTautomer
void CanonicalTautomer(OBMol *mol)
Definition tautomer.cpp:876