2
#include "gecode_wrap.h"
3
#include "space_wrap.hh"
8
return (void*) new MySpace();
11
int new_int_var( void* spc, int is_temp, int _min, int _max )
13
MySpace* _spc = static_cast<MySpace*>(spc);
14
return _spc->intVar( is_temp, _min, _max );
17
void space_alldiff( void* spc, int n, int* vars )
19
MySpace* _spc = static_cast<MySpace*>(spc);
20
_spc->alldiff( vars, vars+n );
23
void space_linear( void* spc, int n, int* coefs, int* vars,
26
MySpace* _spc = static_cast<MySpace*>(spc);
27
_spc->linear( coefs, coefs+n, vars, vars+n, (IntRelType)type, val );
30
void space_branch( void* spc )
32
MySpace* _spc = static_cast<MySpace*>(spc);
36
void* new_dfs( void* spc, int d_c, int d_a )
38
MySpace* _spc = static_cast<MySpace*>(spc);
39
return new MyDFSEngine( _spc, d_c, d_a );
42
void* search_next( void* search )
44
MySearchEngine* _eng = static_cast<MySearchEngine*>(search);
49
void space_values( void* spc, int n, int* vars, int* values )
51
MySpace* _spc = static_cast<MySpace*>(spc);
52
_spc->int_values( n, vars, values );
55
void space_release( void* spc )
57
MySpace* _spc = static_cast<MySpace*>(spc);
63
void* new_propagator( void* spc, PropagatorCallback cb )
65
MySpace* _spc = static_cast<MySpace*>(spc);
66
return (void*)new (_spc) MyPropagator(_spc, cb);
69
int propagator_create_int_view( void* prp, int var )
71
MyPropagator* _prp = static_cast<MyPropagator*>(prp);
72
return _prp->add_int_view( var );
75
int int_view_lq( void* prp, int view, int value )
77
MyPropagator* _prp = static_cast<MyPropagator*>(prp);
78
IntView& _view = _prp->get_int_view( view );
79
return _view.lq( _prp->home, value );
82
int int_view_gq( void* prp, int view, int value )
84
MyPropagator* _prp = static_cast<MyPropagator*>(prp);
85
IntView& _view = _prp->get_int_view( view );
86
return _view.gq( _prp->home, value );
89
int int_view_min( void* prp, int view )
91
MyPropagator* _prp = static_cast<MyPropagator*>(prp);
92
IntView& _view = _prp->get_int_view( view );
96
int int_view_max( void* prp, int view )
98
MyPropagator* _prp = static_cast<MyPropagator*>(prp);
99
IntView& _view = _prp->get_int_view( view );
103
int int_view_val( void* prp, int view )
105
MyPropagator* _prp = static_cast<MyPropagator*>(prp);
106
IntView& _view = _prp->get_int_view( view );
110
int int_view_assigned( void* prp, int view )
112
MyPropagator* _prp = static_cast<MyPropagator*>(prp);
113
IntView& _view = _prp->get_int_view( view );
114
return _view.assigned( );