Go to the documentation of this file.
231 : use(1),
l(NULL),
r(NULL) {}
267 f[0].
g = g;
f[0].
neg =
false;
274 f[0].
g = g;
f[0].
neg =
false;
293 if (
f[
i].what & (1 << vti.
what())) {
295 switch (vti.
what()) {
305 if (
f[
i].g.in(vti.
post()) !=
f[
i].neg)
319 return static_cast<TFO*
>(
object())->
operator ()(vti);
328 (
f[
i].g.in(pg) !=
f[
i].neg))
335 return static_cast<TFO*
>(
object())->
operator ()(pg);
344 (
f[
i].g.in(bg) !=
f[
i].neg))
351 return static_cast<TFO*
>(
object())->
operator ()(bg);
NodeType
Type of trace filter expression.
The actual object storing the shared filters.
char w
Which operations to consider for propagator groups.
bool neg
Whether the filter is negative.
void propagator(Propagator &p)
Record that propagator p is executing.
bool operator()(const ViewTraceInfo &vti) const
Check whether filter is true for view trace information vti.
Node(void)
Default constructor.
TFE negate(void) const
Return negated the expresssion.
Gecode::IntArgs i(4, 1, 2, 3, 4)
SharedHandle::Object * object(void) const
Access to the shared object.
Trace filter expressions.
void brancher(Brancher &b)
Record that brancher b is executing.
@ PROPAGATOR
A propagator is currently executing.
FloatVal operator+(const FloatVal &x)
TFE & operator-=(const TFE &e)
Add expression e as negative expression.
void fill(TFE::Node *n)
Fill the filters.
T * alloc(long unsigned int n)
Allocate block of n objects of type T from heap.
unsigned int use
Nodes are reference counted.
TFE(void)
Initialize with no node.
TraceFilter(void)
Initialize without any filter.
char what
One bit set for each operation type.
Gecode toplevel namespace
friend TFE operator-(const TFE &r)
Return negative expression of e.
Node for trace filter expression.
@ POST
A post function is executing.
NodeType t
Type of expression.
@ NT_NEGATE
Negation of expression.
Post propagator for SetVar SetOpType SetVar SetRelType r
friend TFE propagator(PropagatorGroup g)
Only propagators (but not post functions) from g are considered.
static TraceFilter all
Default filter: without any filter.
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
TFO(void)
Initialize without any filter and with fixpoint and done tracing.
friend TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
Group baseclass for controlling actors.
virtual Object * copy(void) const
Create a copy.
#define GECODE_KERNEL_EXPORT
@ NT_GROUP
Propagator or brancher group.
Base class for heap allocated objects.
void post(PropagatorGroup g)
Record that a post function with propagator group g is executing.
#define GECODE_NEVER
Assert that this command is never executed.
int n
The number of filters.
FloatVal operator-(const FloatVal &x)
Heap heap
The single global heap.
bool decrement(void)
Decrement reference count and possibly free memory.
bool neg
Whether it is negated.
TraceFilter & operator=(const TraceFilter &tf)
Assignment operator.
@ NT_ADD
More than one expression.
bool operator()(const ViewTraceInfo &vti) const
Check whether filter is true for view trace information vti.
void init(Group g, char what)
Initialize with propagator group g and flags what.
virtual ~TFO(void)
Destructor.
Post propagator for f(x \diamond_{\mathit{op}} y) \sim_r z \f$ void rel(Home home
int n
Number of leaf groups.
int n
Number of negative literals for node type.
@ BRANCHER
A brancher is executing.
What what(void) const
Return what is currently executing.
Node * n
Pointer to trace filter expression node.
TFE propagator(PropagatorGroup g)
Only propagators (but not post functions) from g are considered.
StackFrame(void)
Default constructor.
static TFE other(void)
Expression for other than propagator, brancher, or post.
TFE & operator=(const TFE &e)
Assignment operator.
TFE & operator+=(const TFE &e)
Add expression e.