42 #ifndef __GECODE_MINIMODEL_HH__
43 #define __GECODE_MINIMODEL_HH__
47 #ifdef GECODE_HAS_SET_VARS
61 #if !defined(GECODE_STATIC_LIBS) && \
62 (defined(__CYGWIN__) || defined(__MINGW32__) || defined(_MSC_VER))
64 #ifdef GECODE_BUILD_MINIMODEL
65 #define GECODE_MINIMODEL_EXPORT __declspec( dllexport )
67 #define GECODE_MINIMODEL_EXPORT __declspec( dllimport )
72 #ifdef GECODE_GCC_HAS_CLASS_VISIBILITY
74 #define GECODE_MINIMODEL_EXPORT __attribute__ ((visibility("default")))
78 #define GECODE_MINIMODEL_EXPORT
84 #ifndef GECODE_BUILD_MINIMODEL
85 #define GECODE_LIBRARY_NAME "MiniModel"
92 namespace MiniModel {}
95 #ifdef GECODE_HAS_SET_VARS
127 void operator delete(
void* p, size_t) {
heap.
rfree(p); }
133 #ifdef GECODE_HAS_SET_VARS
183 Int::Linear::Term<Int::IntView>*& ti,
184 Int::Linear::Term<Int::BoolView>*& tb,
185 double m,
double&
d)
const;
188 Int::Linear::Term<Int::IntView>* ti,
189 Int::Linear::Term<Int::BoolView>* tb)
const;
191 bool decrement(
void);
195 static void*
operator new(
size_t size);
197 static void operator delete(
void* p,
size_t size);
215 explicit LinExpr(
const IntVarArgs& x);
218 LinExpr(
const IntArgs&
a,
const IntVarArgs& x);
221 explicit LinExpr(
const BoolVarArgs& x);
224 LinExpr(
const IntArgs&
a,
const BoolVarArgs& x);
238 explicit LinExpr(NonLinExpr* e);
250 NonLinExpr*
nle(
void)
const;
712 #ifdef GECODE_HAS_SET_VARS
752 static void*
operator new(
size_t size);
754 static void operator delete(
void* p,
size_t size);
802 static void*
operator new(
size_t s,
Region&
r);
804 static void operator delete(
void*);
806 static void operator delete(
void*,
Region&);
980 static void*
operator new(
size_t size);
982 static void operator delete(
void* p,
size_t size);
999 #ifdef GECODE_HAS_SET_VARS
1014 static void*
operator new(
size_t size);
1016 static void operator delete(
void* p,
size_t size);
1060 static void*
operator new(
size_t s,
Region&
r);
1062 static void operator delete(
void*);
1064 static void operator delete(
void*,
Region&);
1087 #ifdef GECODE_HAS_SET_VARS
1131 operator ^(
const BoolExpr&,
const BoolExpr&);
1157 #ifdef GECODE_HAS_SET_VARS
1160 expr(Home home,
const SetExpr& e);
1180 namespace MiniModel {
1214 const REG& operator =(
const REG&
r);
1219 REG& operator +=(
const REG&
r);
1223 REG& operator |=(
const REG&
r);
1229 REG operator ()(
unsigned int n,
unsigned int m);
1231 REG operator ()(
unsigned int n);
1233 template<
class Char,
class Traits>
1234 std::basic_ostream<Char,Traits>&
1235 print(std::basic_ostream<Char,Traits>& os)
const;
1245 template<
class Char,
class Traits>
1246 std::basic_ostream<Char,Traits>&
1247 operator <<(std::basic_ostream<Char,Traits>& os,
const REG&
r);
1319 #ifdef GECODE_HAS_SET_VARS
1533 rel(home,x,r,y,icl);
1540 rel(home,x,r,y,icl);
1553 #ifdef GECODE_HAS_SET_VARS
1634 operator const ArgsType(
void)
const;
1719 int width(
void)
const;
1760 template<
class Char,
class Traits,
class A>
1761 std::basic_ostream<Char,Traits>&
1762 operator <<(std::basic_ostream<Char,Traits>& os,
const Matrix<A>&
m);
1767 template<
class Char,
class Traits,
class A>
1768 std::basic_ostream<Char,Traits>&
1769 operator <<(std::basic_ostream<Char,Traits>& os,
const Slice<A>& s);
1803 #ifdef GECODE_HAS_SET_VARS
1837 namespace MiniModel {
1840 template<IntRelType irt>