/usr/include/BALL/KERNEL/selector.h is in libball1.4-dev 1.4.3~beta1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: selector.h,v 1.29 2005/10/23 12:02:20 oliver Exp $
//
#ifndef BALL_KERNEL_SELECTOR_H
#define BALL_KERNEL_SELECTOR_H
#ifndef BALL_KERNEL_EXPRESSION_H
# include <BALL/KERNEL/expression.h>
#endif
namespace BALL
{
class Atom;
/**
* Atom Selection from BALL \ref Expression.
* \par
* This class takes a string that represents an \ref Expression. It can then be applied to a \ref Composite
* and will select all atoms matching the \ref Expression. Refer to the documentation of \ref Expression for a
* list of available predicates.
*
* \see Expression
*
* \ingroup Predicates
*/
class BALL_EXPORT Selector
: public UnaryProcessor<Composite>
{
public:
/** @name Constructors and Destructors
*/
//@{
// BALL_CREATE(Selector)
/** Default constructor.
*/
Selector();
/** Copy constructor.
*/
Selector(const Selector& selector);
/** Construct a Selector with a string.
The selector's expression is set to <tt>expression_string</tt>.
*/
Selector(const String& expression_string);
/** Destructor.
*/
virtual ~Selector();
//@}
/** @name Assignment
*/
//@{
/** Clear method.
*/
virtual void clear();
/** Assignment operator.
*/
Selector& operator = (const Selector& selector);
//@}
/** @name Predicates
*/
//@{
/** Equality.
*/
bool operator == (const Selector& selector) const;
//@}
/** @name Processor related methods
*/
//@{
/** Access operator.
If the given Composite is an \link Atom Atom \endlink and the current
\link expression_ expression_ \endlink is fulfilled for that atom, select it by
calling \link Composite::select Composite::select \endlink .
*/
virtual Processor::Result operator () (Composite& composite);
/** Processor start method.
This method is needed to reset the internal counter for the number of
selected atoms.
*/
virtual bool start();
//@}
/** @name Accessors
*/
//@{
/** Return the number of atoms selected during the last application.
*/
Size getNumberOfSelectedAtoms() const;
/** Return a list containing pointers to all selected Atoms
*/
std::list<Atom*>& getSelectedAtoms();
/** Define the expression.
*/
void setExpression(const Expression& expression);
/** Return the expression.
*/
const Expression& getExpression() const;
//@}
protected:
std::list<Atom*> selected_atoms_;
Expression expression_;
};
} // namespace BALL
#endif // BALL_KERNEL_SELECTOR_H
|