Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::Int::NoOverlap::ManBox< Dim, n > Class Template Reference

Mandatory box class. More...

#include <no-overlap.hh>

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

◆ operator[]() [1/2]

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.

◆ operator[]() [2/2]

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.

◆ dim()

template<class Dim, int n>
int Gecode::Int::NoOverlap::ManBox< Dim, n >::dim ( void )
inlinestatic

Return number of dimensions.

Definition at line 54 of file box.hpp.

◆ mandatory()

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

Whether box is mandatory.

Definition at line 60 of file box.hpp.

◆ optional()

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

Whether box is optional.

Definition at line 70 of file box.hpp.

◆ excluded()

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

Whether box is excluded.

Definition at line 65 of file box.hpp.

◆ exclude()

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

Exclude box.

Definition at line 76 of file box.hpp.

◆ nooverlap() [1/2]

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.

◆ overlap()

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.

◆ nooverlap() [2/2]

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.

◆ update()

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.

◆ subscribe()

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

Subscribe propagator p to box.

Definition at line 127 of file box.hpp.

◆ cancel()

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

Cancel propagator p from box.

Definition at line 133 of file box.hpp.

◆ reschedule()

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

Schedule propagator p.

Definition at line 139 of file box.hpp.

Member Data Documentation

◆ d

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: