11#ifndef __CHEMICALFEATUREDEF_H_02122004_1750__
12#define __CHEMICALFEATUREDEF_H_02122004_1750__
20#include <boost/shared_ptr.hpp>
23class MolChemicalFeatureDef;
34 std::vector<double>::iterator
beginWeights() {
return d_weights.begin(); }
35 std::vector<double>::iterator
endWeights() {
return d_weights.end(); }
38 return d_weights.begin();
41 return d_weights.end();
45 d_weights.insert(d_weights.begin(), weights.begin(), weights.end());
46 if (getPattern() && d_weights.size() != getPattern()->getNumAtoms()) {
48 " pattern->getNumAtoms() != len(feature weight vector)");
52 const std::string &
getFamily()
const {
return d_family; }
53 const std::string &
getType()
const {
return d_type; }
54 const std::string &
getSmarts()
const {
return d_smarts; }
64 boost::shared_ptr<ROMol> dp_pattern;
65 std::vector<double> d_weights;
Defines the primary molecule class ROMol as well as associated typedefs.
const std::string & getFamily() const
std::vector< double >::const_iterator beginWeights() const
const ROMol * getPattern() const
std::vector< double >::iterator endWeights()
std::vector< double >::const_iterator endWeights() const
unsigned int getNumWeights() const
void setWeights(const std::vector< double > &weights)
const std::string & getType() const
std::vector< double >::iterator beginWeights()
std::list< boost::shared_ptr< MolChemicalFeatureDef > > CollectionType
MolChemicalFeatureDef(const std::string &smarts, std::string family, std::string type)
const std::string & getSmarts() const
Class to allow us to throw a ValueError from C++ and have it make it back to Python.
#define RDKIT_MOLCHEMICALFEATURES_EXPORT