Generated on Wed Jan 4 17:49:12 2006 for Gecode by doxygen 1.4.6

kernel.hh (Revision: 2554)

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: 2005-11-14 17:09:42 +0100 (Mon, 14 Nov 2005) $ by $Author: tack $
00014  *     $Revision: 2554 $
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 /*
00035  * Support for DLLs under Windows
00036  *
00037  */
00038 
00039 #if !defined(GECODE_STATIC_LIBS) && \
00040     (defined(__CYGWIN__) || defined(__MINGW32__) || defined(_MSC_VER))
00041 
00042 #ifdef GECODE_BUILD_KERNEL
00043 #define GECODE_KERNEL_EXPORT __declspec( dllexport )
00044 #else
00045 #define GECODE_KERNEL_EXPORT __declspec( dllimport )
00046 #endif
00047 
00048 #else
00049 
00050 #define GECODE_KERNEL_EXPORT
00051 
00052 #endif
00053 
00054 #include "config.icc"
00055 
00069 /*
00070  * General exceptions and kernel exceptions
00071  *
00072  */
00073 
00074 #include "kernel/exception.icc"
00075 
00076 
00077 
00078 /*
00079  * Basic kernel services
00080  *
00081  */
00082 
00083 #include "kernel/memory.icc"
00084 #include "kernel/memory-manager.icc"
00085 
00086 
00087 
00088 /*
00089  * Gecode kernel
00090  *
00091  */
00092 
00093 #include "kernel/core.icc"
00094 #include "kernel/modevent.icc"
00095 
00096 
00097 /*
00098  * Variable views and testing for shared variables
00099  *
00100  */
00101 
00102 #include "kernel/view.icc"
00103 
00104 
00105 
00106 /*
00107  * Variable and argument arrays
00108  *
00109  */
00110 
00111 #include "kernel/array.icc"
00112 
00113 
00114 
00115 /*
00116  * Macros for checking failure
00117  *
00118  */
00119 
00120 #include "kernel/macros.icc"
00121 
00122 
00123 
00124 /*
00125  * Common propagator and branching patterns
00126  *
00127  */
00128 
00129 #include "kernel/propagator.icc"
00130 #include "kernel/branching.icc"
00131 
00132 #endif
00133 
00134 
00135 // STATISTICS: kernel-other