dune-common  2.5.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros
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

#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.

#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.

#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 &#39;module&#39; has the version major.minor.
Definition: version.hh:42
#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.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.

#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.

#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
#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)))
#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 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.

#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)))
#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.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.