Loading...
Searching...
No Matches
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...
class | BALL::KernelPredicate< Atom >
class | BALL::KernelPredicate< Molecule >
class | BALL::KernelPredicate< Protein >
class | BALL::KernelPredicate< Fragment >
class | BALL::KernelPredicate< Residue >
class | BALL::KernelPredicate< Chain >

## 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

## BALL_KERNEL_PREDICATE_TYPE

#define BALL_KERNEL_PREDICATE_TYPE

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