version.hh File Reference

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

Go to the source code of this file.

Defines

#define DUNE_VERSION_JOIN(module, type)   module ## _VERSION_ ## 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_NEWER(module, major, minor)
 True if 'module' has the version major.minor or newer.
#define DUNE_VERSION_NEWER_REV(module, major, minor, revision)
 True if 'module' has the version major.minor.revision or newer.
#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.
#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.

Detailed Description

Various macros to work with Dune module version numbers.


Define 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))

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

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:
module The name of the Dune module
type The 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)))

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

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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 25 Mar 2018 for dune-common by  doxygen 1.6.1