29 #ifndef CDPL_PHARM_FEATURESET_HPP
30 #define CDPL_PHARM_FEATURESET_HPP
33 #include <unordered_map>
36 #include <boost/iterator/indirect_iterator.hpp>
60 typedef std::vector<Feature*> FeatureList;
205 typedef std::unordered_map<const Feature*, std::size_t> FeatureIndexMap;
207 FeatureList features;
208 FeatureIndexMap featureIndices;
Definition of 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.
Common interface for data structures that support a random access to stored Pharm::Feature instances.
Definition: FeatureContainer.hpp:57
Concrete implementation of the Pharm::FeatureContainer interface that stores references to selectable...
Definition: FeatureSet.hpp:58
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.
std::size_t getFeatureIndex(const Feature &feature) const
Returns the index of the specified feature.
void orderFeatures(const FeatureCompareFunction &func)
Orders the features according to criteria implemented by the provided feature comparison function.
bool containsFeature(const Feature &feature) const
Tells whether the specified feature is part of the feature set.
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.
FeatureSet & operator=(const FeatureContainer &cntnr)
Replaces the current set of features and properties by the features and properties of the feature con...
bool addFeature(const Feature &feature)
Extends the feature set by 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:71
std::shared_ptr< FeatureSet > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated FeatureSet instances.
Definition: FeatureSet.hpp:66
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:76
void clear()
Removes all features and properties.
bool removeFeature(const Feature &feature)
Removes the specified feature.
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.
Abstract base class representing a single pharmacophore feature.
Definition: Feature.hpp:48
STL compatible random access iterator for container elements accessible by index.
Definition: IndexedElementIterator.hpp:125
std::function< bool(const Feature &, const Feature &)> FeatureCompareFunction
Generic wrapper class used to store a user-defined feature compare function.
Definition: FeatureCompareFunction.hpp:41
The namespace of the Chemical Data Processing Library.