29 #ifndef CDPL_PHARM_FEATURESET_HPP
30 #define CDPL_PHARM_FEATURESET_HPP
33 #include <unordered_map>
36 #include <boost/iterator/indirect_iterator.hpp>
54 typedef std::vector<Feature*> FeatureList;
225 typedef std::unordered_map<const Feature*, std::size_t> FeatureIndexMap;
227 FeatureList features;
228 FeatureIndexMap featureIndices;
Definition of the class CDPL::Pharm::FeatureContainer.
Definition of the preprocessor macro CDPL_PHARM_API.
#define CDPL_PHARM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
FeatureContainer.
Definition: FeatureContainer.hpp:53
FeatureSet.
Definition: FeatureSet.hpp:52
FeatureSet & operator=(const FeatureSet &ftr_set)
Replaces the current set of features and properties by the features and properties of the feature set...
std::size_t getNumFeatures() const
Returns the number of features.
FeatureSet & operator-=(const FeatureContainer &cntnr)
Removes the pharmacophore features referenced by the feature container cntnr from this FeatureSet ins...
const Feature & getFeature(std::size_t idx) const
Returns a const reference to the feature at index idx.
FeatureSet()
Constructs an empty FeatureSet instance.
FeatureSet & operator+=(const FeatureContainer &cntnr)
Extends the current set of features by the features in the feature container cntnr.
FeatureSet(const FeatureSet &ftr_set)
Constructs a copy of the FeatureSet instance ftr_set.
std::size_t getFeatureIndex(const Feature &ftr) const
Returns the index of the specified feature.
FeatureSet & operator=(const FeatureContainer &cntnr)
Replaces the current set of features and properties by the features and properties of the feature con...
bool removeFeature(const Feature &ftr)
Removes the specified feature.
ConstFeatureIterator getFeaturesEnd() const
Returns a constant iterator pointing to the end of the stored const Pharm::Feature objects.
boost::indirect_iterator< FeatureList::const_iterator, const Feature > ConstFeatureIterator
A constant random access iterator used to iterate over the stored const Pharm::Feature objects.
Definition: FeatureSet.hpp:65
std::shared_ptr< FeatureSet > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated FeatureSet instances.
Definition: FeatureSet.hpp:60
boost::indirect_iterator< FeatureList::iterator, Feature > FeatureIterator
A mutable random access iterator used to iterate over the stored const Pharm::Feature objects.
Definition: FeatureSet.hpp:70
void clear()
Removes all features and properties.
bool containsFeature(const Feature &ftr) const
Tells whether the specified feature is part of this feature set.
ConstFeatureIterator getFeaturesBegin() const
Returns a constant iterator pointing to the beginning of the stored const Pharm::Feature objects.
void removeFeature(std::size_t idx)
Removes the feature at the specified index.
FeatureIterator getFeaturesBegin()
Returns a mutable iterator pointing to the beginning of the stored const Pharm::Feature objects.
FeatureSet(const FeatureContainer &cntnr)
Constructs a FeatureSet instance storing the features and properties of the feature container cntnr.
FeatureIterator getFeaturesEnd()
Returns a mutable iterator pointing to the end of the stored const Pharm::Feature objects.
FeatureIterator removeFeature(const FeatureIterator &it)
Removes the feature specified by the iterator it.
Feature & getFeature(std::size_t idx)
Returns a non-const reference to the feature at index idx.
bool addFeature(const Feature &ftr)
Extends the feature set by the specified feature.
Feature.
Definition: Feature.hpp:48
A STL compatible random access iterator for container elements accessible by index.
Definition: IndexedElementIterator.hpp:125
The namespace of the Chemical Data Processing Library.