- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Search for |

# 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_ISN_VERSION_HPP)
    00007 #define SAGA_PACKAGE_ISN_VERSION_HPP
    00008
    00009 #include <saga/saga/util.hpp>
    00010 #include <saga/saga/version.hpp>
    00011 #include <saga/saga/packages/isn/config.hpp>
    00012
    00014 //  The version of the SAGA isn 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_ISN_FULL        SAGA_VERSION_FULL
    00021
    00022 #define SAGA_VERSION_PACKAGE_ISN_MAJOR        SAGA_VERSION_MAJOR
    00023 #define SAGA_VERSION_PACKAGE_ISN_MINOR        SAGA_VERSION_MINOR
    00024 #define SAGA_VERSION_PACKAGE_ISN_SUBMINOR     SAGA_VERSION_SUBMINOR
    00025
    00026 #define SAGA_VERSION_PACKAGE_ISN_DATE         SAGA_VERSION_DATE
    00027
    00028 #define SAGA_VERSION_PACKAGE_ISN_SUBMINORMASK SAGA_VERSION_SUBMINORMASK
    00029
    00031 //  The SAGA isn package API version: here V1.0.0
    00032 #define SAGA_VERSION_PACKAGE_ISN_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_ISN_ISCOMPATIBLE_EX(version)                      \
    00043     (((version) & ~SAGA_VERSION_PACKAGE_ISN_SUBMINORMASK) >=                   \
    00044       (SAGA_VERSION_PACKAGE_ISN_FULL & ~SAGA_VERSION_PACKAGE_ISN_SUBMINORMASK)) \
    00045
    00046
    00047 #define SAGA_VERSION_PACKAGE_ISN_ISCOMPATIBLE()                                \
    00048     SAGA_VERSION_PACKAGE_ISN_ISCOMPATIBLE_EX(                                  \
    00049       saga::get_isn_package_version())                                         \
    00050
    00051
    00053 namespace saga {
    00054
    00055 // Returns the version of the SAGA isn package
    00056 SAGA_ISN_PACKAGE_EXPORT unsigned long get_isn_package_version();
    00057
    00058 // Returns the implemented SAGA isn package API version
    00059 SAGA_ISN_PACKAGE_EXPORT unsigned long get_isn_package_api_version();
    00060
    00062 }   // namespace saga
    00063
    00064 #endif // !SAGA_PACKAGE_ISN_VERSION_HPP
    00065
    00066