Loading...
Searching...
No Matches
version.hh File Reference

Various macros to work with Dune module version numbers. More...

`#include <dune-common-config.hh>`

Go to the source code of this file.

## Macros

#define | DUNE_VERSION_JOIN(module, type)
| Constructs the preprocessor name used in config.h to hold version numbers.
#define | DUNE_VERSION_EQUAL(module, major, minor)
| True if 'module' has the version major.minor.
#define | DUNE_VERSION_EQUAL_REV(module, major, minor, revision)
| True if 'module' has the version major.minor.revision.
#define | DUNE_VERSION_GTE(module, major, minor)
| True if 'module' has the version major.minor or greater.
#define | DUNE_VERSION_LT(module, major, minor)
| True if 'module' has a version less than major.minor.
#define | DUNE_VERSION_GT(module, major, minor)
| True if 'module' has a version greater than major.minor.
#define | DUNE_VERSION_LTE(module, major, minor)
| True if 'module' has a version less than or equal to major.minor.
#define | DUNE_VERSION_GTE_REV(module, major, minor, revision)
| True if 'module' has the version major.minor.revision or greater.
#define | DUNE_VERSION_LT_REV(module, major, minor, revision)
| True if 'module' has a version lower than major.minor.revision.
#define | DUNE_VERSION_GT_REV(module, major, minor, revision)
| True if 'module' has a greater version than major.minor.revision.
#define | DUNE_VERSION_LTE_REV(module, major, minor, revision)
| True if 'module' has a version lower or equal to major.minor.revision.
#define | DUNE_VERSION_ID(major, minor, revision)
| Compute a unique uint id from the major, minor, and revision numbers.
#define | DUNE_MODULE_VERSION_ID(module)
| Compute a unique uint id for the given module.

## Detailed Description

Various macros to work with Dune module version numbers.

## Macro Definition Documentation

## DUNE_MODULE_VERSION_ID

#define DUNE_MODULE_VERSION_ID | ( |  | module | ) |

Value:
DUNE_VERSION_ID( DUNE_VERSION_JOIN(module,MAJOR), DUNE_VERSION_JOIN(module,MINOR), DUNE_VERSION_JOIN(module,REVISION) )
DUNE_VERSION_JOIN
#define DUNE_VERSION_JOIN(module, type)
Constructs the preprocessor name used in config.h to hold version numbers.
Definition version.hh:30
DUNE_VERSION_ID
#define DUNE_VERSION_ID(major, minor, revision)
Compute a unique uint id from the major, minor, and revision numbers.
Definition version.hh:226

Compute a unique uint id for the given module.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_EQUAL

#define DUNE_VERSION_EQUAL | ( |  | module,
|  |  | major,
|  |  | minor )

Value:
((DUNE_VERSION_JOIN(module,MAJOR) == major) && \
(DUNE_VERSION_JOIN(module,MINOR) == minor))

True if 'module' has the version major.minor.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_EQUAL_REV

#define DUNE_VERSION_EQUAL_REV | ( |  | module,
|  |  | major,
|  |  | minor,
|  |  | revision )

Value:
( DUNE_VERSION_EQUAL(module,major,minor) && \
(DUNE_VERSION_JOIN(module,REVISION) == revision))
DUNE_VERSION_EQUAL
#define DUNE_VERSION_EQUAL(module, major, minor)
True if 'module' has the version major.minor.
Definition version.hh:46

True if 'module' has the version major.minor.revision.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_GT

#define DUNE_VERSION_GT | ( |  | module,
|  |  | major,
|  |  | minor )

Value:
((DUNE_VERSION_JOIN(module,MAJOR) > major) \
|| ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) > minor)))

True if 'module' has a version greater than major.minor.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_GT_REV

#define DUNE_VERSION_GT_REV | ( |  | module,
|  |  | major,
|  |  | minor,
|  |  | revision )

Value:
((DUNE_VERSION_JOIN(module,MAJOR) > major) \
|| ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) > minor)) \
|| ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) == minor) \
&& (DUNE_VERSION_JOIN(module,REVISION) > revision)))

True if 'module' has a greater version than major.minor.revision.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_GTE

#define DUNE_VERSION_GTE | ( |  | module,
|  |  | major,
|  |  | minor )

Value:
((DUNE_VERSION_JOIN(module,MAJOR) > major) \
|| ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) >= minor)))

True if 'module' has the version major.minor or greater.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_GTE_REV

#define DUNE_VERSION_GTE_REV | ( |  | module,
|  |  | major,
|  |  | minor,
|  |  | revision )

Value:
((DUNE_VERSION_JOIN(module,MAJOR) > major) \
|| ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) > minor)) \
|| ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) == minor) \
&& (DUNE_VERSION_JOIN(module,REVISION) >= revision)))

True if 'module' has the version major.minor.revision or greater.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_ID

#define DUNE_VERSION_ID | ( |  | major,
|  |  | minor,
|  |  | revision )

Value:
((unsigned int)((major << 24) + (minor << 16) + revision))

Compute a unique uint id from the major, minor, and revision numbers.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_JOIN

#define DUNE_VERSION_JOIN | ( |  | module,
|  |  | type )

Value:
module ## _VERSION_ ## type

Constructs the preprocessor name used in config.h to hold version numbers.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

Parameters

  module | The name of the Dune module
  type | The version number type, one of MAJOR, MINOR, or REVISION

## DUNE_VERSION_LT

#define DUNE_VERSION_LT | ( |  | module,
|  |  | major,
|  |  | minor )

Value:
! DUNE_VERSION_GTE(module,major,minor)
DUNE_VERSION_GTE
#define DUNE_VERSION_GTE(module, major, minor)
True if 'module' has the version major.minor or greater.
Definition version.hh:82

True if 'module' has a version less than major.minor.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_LT_REV

#define DUNE_VERSION_LT_REV | ( |  | module,
|  |  | major,
|  |  | minor,
|  |  | revision )

Value:
! DUNE_VERSION_GTE_REV(module,major,minor,revision)
DUNE_VERSION_GTE_REV
#define DUNE_VERSION_GTE_REV(module, major, minor, revision)
True if 'module' has the version major.minor.revision or greater.
Definition version.hh:152

True if 'module' has a version lower than major.minor.revision.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_LTE

#define DUNE_VERSION_LTE | ( |  | module,
|  |  | major,
|  |  | minor )

Value:
! DUNE_VERSION_GT(module,major,minor)
DUNE_VERSION_GT
#define DUNE_VERSION_GT(module, major, minor)
True if 'module' has a version greater than major.minor.
Definition version.hh:117

True if 'module' has a version less than or equal to major.minor.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.

## DUNE_VERSION_LTE_REV

#define DUNE_VERSION_LTE_REV | ( |  | module,
|  |  | major,
|  |  | minor,
|  |  | revision )

Value:
! DUNE_VERSION_GT_REV(module,major,minor,revision)
DUNE_VERSION_GT_REV
#define DUNE_VERSION_GT_REV(module, major, minor, revision)
True if 'module' has a greater version than major.minor.revision.
Definition version.hh:189

True if 'module' has a version lower or equal to major.minor.revision.

For the DUNE core modules you need to use the following module names:

- DUNE_COMMON for dune-common
- DUNE_GRID for dune-grid
- DUNE_GEOMETRY for dune-geometry
- DUNE_ISTL for dune-istl
- DUNE_LOCALFUNCTIONS for dune-localfunctions

For external DUNE modules, you should capitalize the name and replace '-' by underscores. For example for the module foo-bar you need to use FOO_BAR as module name in the context of this macro.