Generated on Fri Oct 19 11:26:14 2018 for Gecode by doxygen 1.6.3

Gecode::Int::NoOverlap::ManBox< Dim, n > Class Template Reference

Mandatory box class. More...

#include <no-overlap.hh>

List of all members.

Public Member Functions

const Dim & operator[] (int i) const
 Access to dimension i.
Dim & operator[] (int i)
 Access to dimension i.
bool mandatory (void) const
 Whether box is mandatory.
bool optional (void) const
 Whether box is optional.
bool excluded (void) const
 Whether box is excluded.
ExecStatus exclude (Space &home)
 Exclude box.
bool nooverlap (const ManBox< Dim, n > &b) const
 Check whether this box does not any longer overlap with b.
bool overlap (const ManBox< Dim, n > &b) const
 Check whether this box overlaps with b.
ExecStatus nooverlap (Space &home, ManBox< Dim, n > &b)
 Propagate that this box does not overlap with b.
void update (Space &home, ManBox< Dim, n > &r)
 Update box during cloning.
void subscribe (Space &home, Propagator &p)
 Subscribe propagator p to box.
void cancel (Space &home, Propagator &p)
 Cancel propagator p from box.
void reschedule (Space &home, Propagator &p)
 Schedule propagator p.

Static Public Member Functions

static int dim (void)
 Return number of dimensions.

Protected Attributes

Dim d [n]
 Dimensions.

Detailed Description

template<class Dim, int n>
class Gecode::Int::NoOverlap::ManBox< Dim, n >

Mandatory box class.

Definition at line 146 of file no-overlap.hh.


Member Function Documentation

template<class Dim , int n>
const Dim & Gecode::Int::NoOverlap::ManBox< Dim, n >::operator[] ( int  i  )  const [inline]

Access to dimension i.

Definition at line 42 of file box.hpp.

template<class Dim , int n>
Dim & Gecode::Int::NoOverlap::ManBox< Dim, n >::operator[] ( int  i  )  [inline]

Access to dimension i.

Definition at line 48 of file box.hpp.

template<class Dim , int n>
int Gecode::Int::NoOverlap::ManBox< Dim, n >::dim ( void   )  [inline, static]

Return number of dimensions.

Definition at line 54 of file box.hpp.

template<class Dim , int n>
bool Gecode::Int::NoOverlap::ManBox< Dim, n >::mandatory ( void   )  const [inline]

Whether box is mandatory.

Reimplemented in Gecode::Int::NoOverlap::OptBox< Dim, n >.

Definition at line 60 of file box.hpp.

template<class Dim , int n>
bool Gecode::Int::NoOverlap::ManBox< Dim, n >::optional ( void   )  const [inline]

Whether box is optional.

Reimplemented in Gecode::Int::NoOverlap::OptBox< Dim, n >.

Definition at line 70 of file box.hpp.

template<class Dim , int n>
bool Gecode::Int::NoOverlap::ManBox< Dim, n >::excluded ( void   )  const [inline]

Whether box is excluded.

Reimplemented in Gecode::Int::NoOverlap::OptBox< Dim, n >.

Definition at line 65 of file box.hpp.

template<class Dim , int n>
ExecStatus Gecode::Int::NoOverlap::ManBox< Dim, n >::exclude ( Space home  )  [inline]

Exclude box.

Reimplemented in Gecode::Int::NoOverlap::OptBox< Dim, n >.

Definition at line 76 of file box.hpp.

template<class Dim , int n>
bool Gecode::Int::NoOverlap::ManBox< Dim, n >::nooverlap ( const ManBox< Dim, n > &  b  )  const [inline]

Check whether this box does not any longer overlap with b.

Definition at line 82 of file box.hpp.

template<class Dim , int n>
bool Gecode::Int::NoOverlap::ManBox< Dim, n >::overlap ( const ManBox< Dim, n > &  b  )  const [inline]

Check whether this box overlaps with b.

Definition at line 91 of file box.hpp.

template<class Dim , int n>
ExecStatus Gecode::Int::NoOverlap::ManBox< Dim, n >::nooverlap ( Space home,
ManBox< Dim, n > &  b 
) [inline]

Propagate that this box does not overlap with b.

Definition at line 100 of file box.hpp.

template<class Dim , int n>
void Gecode::Int::NoOverlap::ManBox< Dim, n >::update ( Space home,
ManBox< Dim, n > &  r 
) [inline]

Update box during cloning.

Definition at line 120 of file box.hpp.

template<class Dim , int n>
void Gecode::Int::NoOverlap::ManBox< Dim, n >::subscribe ( Space home,
Propagator p 
) [inline]

Subscribe propagator p to box.

Reimplemented in Gecode::Int::NoOverlap::OptBox< Dim, n >.

Definition at line 127 of file box.hpp.

template<class Dim , int n>
void Gecode::Int::NoOverlap::ManBox< Dim, n >::cancel ( Space home,
Propagator p 
) [inline]

Cancel propagator p from box.

Reimplemented in Gecode::Int::NoOverlap::OptBox< Dim, n >.

Definition at line 133 of file box.hpp.

template<class Dim , int n>
void Gecode::Int::NoOverlap::ManBox< Dim, n >::reschedule ( Space home,
Propagator p 
) [inline]

Schedule propagator p.

Reimplemented in Gecode::Int::NoOverlap::OptBox< Dim, n >.

Definition at line 139 of file box.hpp.


Member Data Documentation

template<class Dim, int n>
Dim Gecode::Int::NoOverlap::ManBox< Dim, n >::d[n] [protected]

Dimensions.

Definition at line 149 of file no-overlap.hh.


The documentation for this class was generated from the following files: