Generated on Wed Nov 1 15:04:42 2006 for Gecode by doxygen 1.4.5

kernel.hh

Go to the documentation of this file.
00001 /*
00002  *  Main authors:
00003  *     Christian Schulte <schulte@gecode.org>
00004  *
00005  *  Contributing authors:
00006  *     Guido Tack <tack@gecode.org>
00007  *
00008  *  Copyright:
00009  *     Christian Schulte, 2004
00010  *     Guido Tack, 2004
00011  *
00012  *  Last modified:
00013  *     $Date: 2006-08-24 10:39:08 +0200 (Thu, 24 Aug 2006) $ by $Author: tack $
00014  *     $Revision: 3558 $
00015  *
00016  *  This file is part of Gecode, the generic constraint
00017  *  development environment:
00018  *     http://www.gecode.org
00019  *
00020  *  See the file "LICENSE" for information on usage and
00021  *  redistribution of this file, and for a
00022  *     DISCLAIMER OF ALL WARRANTIES.
00023  *
00024  */
00025 
00026 #ifndef __GECODE_KERNEL_HH__
00027 #define __GECODE_KERNEL_HH__
00028 
00029 #include <cstddef>
00030 #include <cstdlib>
00031 #include <cstring>
00032 #include <cassert>
00033 
00034 #include "gecode/config.icc"
00035 
00036 /*
00037  * Support for DLLs under Windows
00038  *
00039  */
00040 
00041 #if !defined(GECODE_STATIC_LIBS) && \
00042     (defined(__CYGWIN__) || defined(__MINGW32__) || defined(_MSC_VER))
00043 
00044 #ifdef GECODE_BUILD_KERNEL
00045 #define GECODE_KERNEL_EXPORT __declspec( dllexport )
00046 #else
00047 #define GECODE_KERNEL_EXPORT __declspec( dllimport )
00048 #endif
00049 
00050 #else
00051 
00052 #ifdef GCC_HASCLASSVISIBILITY
00053 
00054 #define GECODE_KERNEL_EXPORT __attribute__ ((visibility("default")))
00055 
00056 #else
00057 
00058 #define GECODE_KERNEL_EXPORT
00059 
00060 #endif
00061 #endif
00062 
00076 /*
00077  * General exceptions and kernel exceptions
00078  *
00079  */
00080 
00081 #include "gecode/kernel/exception.icc"
00082 
00083 
00084 
00085 /*
00086  * Basic kernel services
00087  *
00088  */
00089 
00090 #include "gecode/kernel/memory.icc"
00091 #include "gecode/kernel/memory-manager.icc"
00092 
00093 
00094 /*
00095  * Macros for checking failure
00096  *
00097  */
00098 
00099 
00100 #include "gecode/kernel/macros.icc"
00101 
00102 /*
00103  * Gecode kernel
00104  *
00105  */
00106 
00107 #include "gecode/kernel/core.icc"
00108 #include "gecode/kernel/modevent.icc"
00109 
00110 
00111 /*
00112  * Variable views and testing for shared variables
00113  *
00114  */
00115 
00116 #include "gecode/kernel/view.icc"
00117 
00118 
00119 
00120 /*
00121  * Variable and argument arrays
00122  *
00123  */
00124 
00125 #include "gecode/kernel/array.icc"
00126 
00127 
00128 
00129 
00130 /*
00131  * Common propagator and branching patterns
00132  *
00133  */
00134 
00135 #include "gecode/kernel/propagator.icc"
00136 #include "gecode/kernel/branching.icc"
00137 
00138 #endif
00139 
00140 
00141 // STATISTICS: kernel-other