SAGA C++ API 1.6
version.hpp
Go to the documentation of this file.
00001 //  Copyright (c) 2005-2009 Hartmut Kaiser
00002 // 
00003 //  Distributed under the Boost Software License, Version 1.0. (See accompanying 
00004 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00005 
00006 #if !defined(SAGA_PACKAGE_SD_VERSION_HPP)
00007 #define SAGA_PACKAGE_SD_VERSION_HPP
00008 
00009 #include <saga/saga/util.hpp>
00010 #include <saga/saga/version.hpp>
00011 #include <saga/saga/packages/sd/config.hpp>
00012 
00014 //  The version of the SAGA sd package
00015 //
00016 //  SAGA_VERSION_PACKAGE_STREAM_FULL & 0x0000FF is the sub-minor version
00017 //  SAGA_VERSION_PACKAGE_STREAM_FULL & 0x00FF00 is the minor version
00018 //  SAGA_VERSION_PACKAGE_STREAM_FULL & 0xFF0000 is the major version
00019 //
00020 #define SAGA_VERSION_PACKAGE_SD_FULL         SAGA_VERSION_FULL
00021                                                  
00022 #define SAGA_VERSION_PACKAGE_SD_MAJOR        SAGA_VERSION_MAJOR
00023 #define SAGA_VERSION_PACKAGE_SD_MINOR        SAGA_VERSION_MINOR
00024 #define SAGA_VERSION_PACKAGE_SD_SUBMINOR     SAGA_VERSION_SUBMINOR
00025                                                  
00026 #define SAGA_VERSION_PACKAGE_SD_DATE         SAGA_VERSION_DATE
00027                                                  
00028 #define SAGA_VERSION_PACKAGE_SD_SUBMINORMASK SAGA_VERSION_SUBMINORMASK
00029 
00031 //  The SAGA sd package API version: here V1.0.0
00032 #define SAGA_VERSION_PACKAGE_SD_API          SAGA_VERSION_API
00033 
00035 //
00036 //  SAGA_VERSION_PACKAGE_STREAM_ISCOMPATIBLE()
00037 // 
00038 //  The SAGA_VERSION_ISCOMPATIBLE macro tests, if the version of the loaded
00039 //  SAGA engine is compatible with the version the calling application was 
00040 //  compiled against.
00041 //
00042 #define SAGA_VERSION_PACKAGE_SD_ISCOMPATIBLE_EX(version)                      \
00043     (((version) & ~SAGA_VERSION_PACKAGE_SD_SUBMINORMASK) >=                   \
00044       (SAGA_VERSION_PACKAGE_SD_FULL & ~SAGA_VERSION_PACKAGE_SD_SUBMINORMASK)) \
00045   
00046 
00047 #define SAGA_VERSION_PACKAGE_SD_ISCOMPATIBLE()                                \
00048     SAGA_VERSION_PACKAGE_SD_ISCOMPATIBLE_EX(                                  \
00049       saga::get_sd_package_version())                                         \
00050   
00051 
00053 namespace saga {
00054 
00055 // Returns the version of the SAGA sd package
00056 SAGA_SD_PACKAGE_EXPORT unsigned long get_sd_package_version();
00057 
00058 // Returns the implemented SAGA sd package API version
00059 SAGA_SD_PACKAGE_EXPORT unsigned long get_sd_package_api_version();
00060 
00062 }   // namespace saga
00063 
00064 #endif // !SAGA_PACKAGE_SD_VERSION_HPP
00065 
00066 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines