Main Page | User's Guide | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

SeldonData.hxx

00001 // Copyright (C) 2003-2005 Vivien Mallet
00002 //
00003 // This file is part of SeldonData library.
00004 // SeldonData library is a tool for data processing.
00005 // 
00006 // SeldonData is free software; you can redistribute it and/or modify
00007 // it under the terms of the GNU General Public License as published by
00008 // the Free Software Foundation; either version 2 of the License, or
00009 // (at your option) any later version.
00010 // 
00011 // SeldonData is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License (file "license") for more details.
00015 //
00016 // For more information, please see the SeldonData home page:
00017 //     http://spacetown.free.fr/lib/seldondata/
00018 
00019 #ifndef FILE_SELDONDATA_SELDONDATA_HXX
00020 
00021 // Blitz++.
00022 #include <blitz/array.h>
00023 using namespace blitz;
00024 
00025 // Talos.
00026 #include <Talos.hxx>
00027 using namespace Talos;
00028 
00029 #include <string>
00030 #include <sstream>
00031 #include <exception>
00032 #include <stdexcept>
00033 
00035 namespace SeldonData
00036 {
00037 }
00038 
00039 
00041 // DEBUG LEVELS //
00043 
00044 #ifdef SELDONDATA_DEBUG_LEVEL_4
00045 #ifndef SELDONDATA_DEBUG_LEVEL_3
00046 #define SELDONDATA_DEBUG_LEVEL_3
00047 #endif
00048 #endif
00049 
00050 #ifdef SELDONDATA_DEBUG_LEVEL_3
00051 #ifndef SELDONDATA_DEBUG_CHECK_INDICES
00052 #define SELDONDATA_DEBUG_CHECK_INDICES
00053 #endif
00054 #ifndef SELDONDATA_DEBUG_LEVEL_2
00055 #define SELDONDATA_DEBUG_LEVEL_2
00056 #endif
00057 #endif
00058 
00059 #ifdef SELDONDATA_DEBUG_LEVEL_2
00060 #ifndef SELDONDATA_DEBUG_CHECK_DIMENSIONS
00061 #define SELDONDATA_DEBUG_CHECK_DIMENSIONS
00062 #endif
00063 #ifndef SELDONDATA_DEBUG_LEVEL_1
00064 #define SELDONDATA_DEBUG_LEVEL_1
00065 #endif
00066 #endif
00067 
00068 #ifdef SELDONDATA_DEBUG_LEVEL_1
00069 #ifndef SELDONDATA_DEBUG_CHECK_MEMORY
00070 #define SELDONDATA_DEBUG_CHECK_MEMORY
00071 #endif
00072 #ifndef SELDONDATA_DEBUG_CHECK_IO
00073 #define SELDONDATA_DEBUG_CHECK_IO
00074 #endif
00075 #ifndef SELDONDATA_DEBUG_LEVEL_0
00076 #define SELDONDATA_DEBUG_LEVEL_0
00077 #endif
00078 #endif
00079 
00080 
00081 #include "Errors.hxx"
00082 
00083 
00085 // MACROS //
00087 
00089 
00106 #ifdef TRY
00107 #undef TRY
00108 #endif
00109 #define TRY try\
00110 {
00111 
00112 #ifdef END
00113 #undef END
00114 #endif
00115 #define END \
00116 }\
00117 catch(SeldonData::Error& Err)\
00118 {\
00119 Err.What();\
00120 return 1;\
00121 }\
00122 catch (std::exception& Err)\
00123 {\
00124 cout << "C++ exception: " << Err.what() << endl;\
00125 return 1;\
00126 }\
00127 catch (std::string& str)\
00128 {\
00129 cout << str << endl;\
00130 return 1;\
00131 }\
00132 catch (const char* str)\
00133 {\
00134 cout << str << endl;\
00135 return 1;\
00136 }\
00137 catch(...)\
00138 {\
00139 cout << "Unknown error..." <<endl;\
00140 return 1;\
00141 }
00142 
00143 // To get 'min' and 'max' functions.
00144 #include <algorithm>
00145 
00146 #include "Function.hxx"
00147 #include "Grid.cxx"
00148 #include "Data.cxx"
00149 #include "Format.cxx"
00150 #include "Functions.cxx"
00151 
00152 #define FILE_SELDONDATA_SELDONDATA_HXX
00153 #endif

Generated on Wed Apr 25 11:21:07 2007 for SeldonData by  doxygen 1.4.2