template<class Arg>
class OEUnaryPredicate : public OEUnaryFunction<Arg,bool>

This class represents OEUnaryPredicate.

This abstract base-class defines predicates in OEChem. Predicates are a special class of functors which, by convention, has several restriction. These restrictions make predicates predictable and reliable. To the degree possible, these restrictions are enforced by the API. OEUnaryPredicate.CreateCopy is a virtual constructor which allows copying of concrete derived objects using a reference to this base class.

By definition, a predicates is a functor which always return a boolean. By convention, the OEUnaryPredicate.operator() of a predicate does not modify the object it takes as an argument and itself is not modified by the evaluation. These conventions guarantee that the result of a series of predicate evaluations will not be order dependent.

The following methods are publicly inherited from OEUnaryFunction:

operator() CreateCopy  

The following atom predicate classes classes derive from this class:

The following bond predicate classes derive from this class:

The following template predicate classes derive from this class:

The following specializations exist for this template:

OEUnaryBasePred OESystem::OEUnaryPredicate< OESystem::OEBase >
OEUnaryAtomPred OESystem::OEUnaryPredicate< OEChem::OEAtomBase >
OEUnaryBondPred OESystem::OEUnaryPredicate< OEChem::OEBondBase >
OEUnaryConfPred OESystem::OEUnaryPredicate< OEChem::OEConfBase >
OEUnaryMolBasePred OESystem::OEUnaryPredicate< OEChem::OEMolBase >
OEUnaryGraphMolPred OESystem::OEUnaryPredicate< OEChem::OEGraphMol >


bool operator()(const Arg &a) const =0


base_type *CreateCopy() const =0


OEUnaryPredicate<Arg> *CreatePredicateCopy() const