33#ifndef __GECODE_GIST_HH__
34#define __GECODE_GIST_HH__
39#ifdef GECODE_HAS_SET_VARS
42#ifdef GECODE_HAS_FLOAT_VARS
51#if !defined(GIST_STATIC_LIBS) && \
52 (defined(__CYGWIN__) || defined(__MINGW32__) || defined(_MSC_VER))
54#ifdef GECODE_BUILD_GIST
55#define GECODE_GIST_EXPORT __declspec( dllexport )
57#define GECODE_GIST_EXPORT __declspec( dllimport )
62#ifdef GECODE_GCC_HAS_CLASS_VISIBILITY
63#define GECODE_GIST_EXPORT __attribute__ ((visibility("default")))
65#define GECODE_GIST_EXPORT
71#ifndef GECODE_BUILD_GIST
72#define GECODE_LIBRARY_NAME "Gist"
104 virtual std::string name(
void);
106 virtual void finalize(
void);
127 virtual std::string name(
void);
129 virtual void finalize(
void);
143 static std::string compare(std::string x_n,
IntVar x,
IntVar y);
146#ifdef GECODE_HAS_SET_VARS
148 static std::string compare(std::string x_n,
SetVar x,
SetVar y);
150#ifdef GECODE_HAS_FLOAT_VARS
170 std::ostream& getStream(
void);
174 void addHtml(
const char* s);
183 virtual std::string name(
void);
191 Print(
const std::string& name);
193 virtual void inspect(
const Space& node);
195 virtual std::string name(
void);
197 virtual void finalize(
void);
216 virtual void compare(
const Space& s0,
const Space& s1);
218 virtual std::string name(
void);
220 virtual void finalize(
void);
240 unsigned int n_click;
242 unsigned int n_solution;
246 unsigned int n_compare;
262 Inspector* solution(
unsigned int i)
const;
int n
Number of negative literals for node type.
Node * x
Pointer to corresponding Boolean expression node.
Boolean integer variables.
Abstract base class for comparators.
virtual void compare(const Space &s0, const Space &s1)=0
Call-back function.
Abstract base class for inspectors.
virtual void inspect(const Space &s)=0
Call-back function.
Helper class storing inspectors.
static const Options def
Default options.
An inspector for printing simple text output.
Window with associated ostream, used for inspecting Gist nodes.
An window for simple text output.
Array with arbitrary number of elements.
Argument array for variables.
#define GECODE_GIST_EXPORT
int bab(Space *root, const Gist::Options &opt=Gist::Options::def)
Create a new stand-alone Gist for branch-and-bound search of root.
int dfs(Space *root, const Gist::Options &opt=Gist::Options::def)
Create a new stand-alone Gist for root.
int explore(Space *root, bool bab, const Options &opt)
Create a new stand-alone Gist for root using bab.
void stopBranch(Space &home)
A branching that stops exploration.
Gecode toplevel namespace