Class SBCFunctor#
This class describes a functor. More...
#include <SBCFunctor.hpp>
Inherited by the following classes: SBCFunctor0, SBCFunctor0, SBCFunctor0, SBCFunctor0
Public Functions#
| Type | Name |
|---|---|
| SBCFunctor () Constructs a functor. |
|
| virtual SBCFunctor * | clone () const Clones the functor. |
| virtual | ~SBCFunctor () Destructs the functor. |
Detailed Description#
A functor is an object of a class that acts as a function.
For example, the only purpose of the following class is to compute the distance between two atoms:
class DistanceCalculator : public SBFunctor2<SBQuantity::length, SBAtom*, SBAtom*> {
public:
DistanceCalculator() {}
virtual ~DistanceCalculator() {}
SBQuantity::length operator(SBAtom* atom1, SBAtom atom2) {
return (atom1->getPosition() - atom2->getPosition()).norm();
}
};
The class SBCFunctor is the base class of all functor classes:
- SBCFunctor0: a functor which takes no arguments
- SBCFunctor1: a functor which takes 1 argument
- ...
- SBCFunctor16: a functor which takes 16 arguments
Functors are used in several places. In particular, predicates are functors that return a boolean and which may be logically combined.
Short name: SBFunctor
See also: SBCFunctorPredicate
Public Functions Documentation#
function SBCFunctor#
Constructs a functor.
Default constructor for SBCFunctor.
Constructs an SBCFunctor object.
function clone#
Clones the functor.
Creates a copy of this functor.
Returns a pointer to a new SBCFunctor that is a clone of this instance. The base implementation returns nullptr.
Returns:
Pointer to a cloned SBCFunctor, or nullptr if cloning is not supported.
function ~SBCFunctor#
Destructs the functor.
Destructor for SBCFunctor.
Destroys the SBCFunctor object.