Web Analytics Made Easy - Statcounter
Skip to content

Class SBCFunctor#

ClassList > 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.

SBCFunctor::SBCFunctor () 

Default constructor for SBCFunctor.

Constructs an SBCFunctor object.


function clone#

Clones the functor.

virtual SBCFunctor * SBCFunctor::clone () const

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.

virtual SBCFunctor::~SBCFunctor () 

Destructor for SBCFunctor.

Destroys the SBCFunctor object.