BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Namespaces
KERNEL/predicate.h File Reference
#include <BALL/COMMON/rtti.h>
#include <BALL/CONCEPT/predicate.h>
#include <BALL/CONCEPT/composite.h>

Go to the source code of this file.

Classes

class  BALL::KernelPredicate< T >
 Kernel predicate class. More...
 

Namespaces

namespace  BALL
 

KernelPredicates Kernel predicates

This chapter describes a set of unary predicates acting on Composite instances, that can be used to identify the class type of a composite at runtime.

This predicates are functionally similar to the RTTI:isKindOf function. They decide whether a given composite is an instance of a certain class (or of a class derived thereof). For instance, the application of a MoleculePredicate to a composite will yield true, if the given composite was an instance of Molecule (or Protein , as Protein is derived from Molecule). Otherwise false is returned.
Each KernelPredicate possesses three methods:

-operator (const Composite&) -operator (const Composite&) const

The two operators are functionally identical (two methods are needed, because the class is derived from TUnaryPredicate and we want to make sure both methods are overwritten). operator() returns true, if the given composite is a kind of the class corresponding to the respective predicate, false otherwise.

See Also
UnaryPredicate
RTTI
#define BALL_KERNEL_PREDICATE_TYPE
 
typedef UnaryPredicate< Composite > BALL::KernelPredicateType
 

Macro Definition Documentation

#define BALL_KERNEL_PREDICATE_TYPE

Definition at line 51 of file KERNEL/predicate.h.