Dune Core Modules (2.5.0)

version.hh File Reference

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

Go to the source code of this file.

Macros

#define DUNE_VERSION_JOIN(module, type)   module ## _VERSION_ ## type
 Constructs the preprocessor name used in config.h to hold version numbers. More...
 
#define DUNE_VERSION_EQUAL(module, major, minor)
 True if 'module' has the version major.minor. More...
 
#define DUNE_VERSION_EQUAL_REV(module, major, minor, revision)
 True if 'module' has the version major.minor.revision. More...
 
#define DUNE_VERSION_NEWER(module, major, minor)
 True if 'module' has the version major.minor or newer. More...
 
#define DUNE_VERSION_NEWER_REV(module, major, minor, revision)
 True if 'module' has the version major.minor.revision or newer. More...
 
#define DUNE_VERSION_ID(major, minor, revision)    ((unsigned int)((major << 24) + (minor << 16) + revision))
 Compute a unique uint id from the major, minor, and revision numbers. More...
 
#define DUNE_MODULE_VERSION_ID(module)    DUNE_VERSION_ID( DUNE_VERSION_JOIN(module,MAJOR), DUNE_VERSION_JOIN(module,MINOR), DUNE_VERSION_JOIN(module,REVISION) )
 Compute a unique uint id for the given module. More...
 

Detailed Description

Various macros to work with Dune module version numbers.

Macro Definition Documentation

◆ DUNE_MODULE_VERSION_ID

#define DUNE_MODULE_VERSION_ID (   module)     DUNE_VERSION_ID( DUNE_VERSION_JOIN(module,MAJOR), DUNE_VERSION_JOIN(module,MINOR), DUNE_VERSION_JOIN(module,REVISION) )

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))
#define DUNE_VERSION_JOIN(module, type)
Constructs the preprocessor name used in config.h to hold version numbers.
Definition: version.hh:26

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))
#define DUNE_VERSION_EQUAL(module, major, minor)
True if 'module' has the version major.minor.
Definition: version.hh:42

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_ID

#define DUNE_VERSION_ID (   major,
  minor,
  revision 
)     ((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 
)    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
moduleThe name of the Dune module
typeThe version number type, one of MAJOR, MINOR, or REVISION

◆ DUNE_VERSION_NEWER

#define DUNE_VERSION_NEWER (   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 newer.

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_NEWER_REV

#define DUNE_VERSION_NEWER_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 newer.

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.

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 23, 23:29, 2024)