Dune Core Modules (unstable)

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)   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_GTE(module, major, minor)
 True if 'module' has the version major.minor or greater. More...
 
#define DUNE_VERSION_LT(module, major, minor)    ! DUNE_VERSION_GTE(module,major,minor)
 True if 'module' has a version less than major.minor. More...
 
#define DUNE_VERSION_GT(module, major, minor)
 True if 'module' has a version greater than major.minor. More...
 
#define DUNE_VERSION_LTE(module, major, minor)    ! DUNE_VERSION_GT(module,major,minor)
 True if 'module' has a version less than or equal to major.minor. More...
 
#define DUNE_VERSION_GTE_REV(module, major, minor, revision)
 True if 'module' has the version major.minor.revision or greater. More...
 
#define DUNE_VERSION_LT_REV(module, major, minor, revision)    ! DUNE_VERSION_GTE_REV(module,major,minor,revision)
 True if 'module' has a version lower than major.minor.revision. More...
 
#define DUNE_VERSION_GT_REV(module, major, minor, revision)
 True if 'module' has a greater version than major.minor.revision. More...
 
#define DUNE_VERSION_LTE_REV(module, major, minor, revision)    ! DUNE_VERSION_GT_REV(module,major,minor,revision)
 True if 'module' has a version lower or equal to major.minor.revision. 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:30

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: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 
)     ((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_LT

#define DUNE_VERSION_LT (   module,
  major,
  minor 
)     ! DUNE_VERSION_GTE(module,major,minor)

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 
)     ! DUNE_VERSION_GTE_REV(module,major,minor,revision)

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 
)     ! DUNE_VERSION_GT(module,major,minor)

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 
)     ! DUNE_VERSION_GT_REV(module,major,minor,revision)

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.

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