Generated on Thu Mar 22 10:39:57 2012 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, bool share, 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.

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 46 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 52 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 58 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 >, and Gecode::Int::NoOverlap::OptBox< Dim, d >.

Definition at line 64 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 >, and Gecode::Int::NoOverlap::OptBox< Dim, d >.

Definition at line 74 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 >, and Gecode::Int::NoOverlap::OptBox< Dim, d >.

Definition at line 69 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 >, and Gecode::Int::NoOverlap::OptBox< Dim, d >.

Definition at line 80 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 86 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 95 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 104 of file box.hpp.

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

Update box during cloning.

Definition at line 124 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 >, and Gecode::Int::NoOverlap::OptBox< Dim, d >.

Definition at line 131 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 >, and Gecode::Int::NoOverlap::OptBox< Dim, d >.

Definition at line 137 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: