Dune Core Modules (unstable)

version.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 // SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
4 // SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
5 #ifndef DUNE_VERSION_HH
6 #define DUNE_VERSION_HH
7 
28 #define DUNE_VERSION_JOIN(module,type) module ## _VERSION_ ## type
29 
44 #define DUNE_VERSION_EQUAL(module,major,minor) \
45  ((DUNE_VERSION_JOIN(module,MAJOR) == major) && \
46  (DUNE_VERSION_JOIN(module,MINOR) == minor))
47 
62 #define DUNE_VERSION_EQUAL_REV(module,major,minor,revision) \
63  ( DUNE_VERSION_EQUAL(module,major,minor) && \
64  (DUNE_VERSION_JOIN(module,REVISION) == revision))
65 
80 #define DUNE_VERSION_GTE(module,major,minor) \
81  ((DUNE_VERSION_JOIN(module,MAJOR) > major) \
82  || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) >= minor)))
83 
98 #define DUNE_VERSION_LT(module,major,minor) \
99  ! DUNE_VERSION_GTE(module,major,minor)
100 
115 #define DUNE_VERSION_GT(module,major,minor) \
116  ((DUNE_VERSION_JOIN(module,MAJOR) > major) \
117  || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) > minor)))
118 
133 #define DUNE_VERSION_LTE(module,major,minor) \
134  ! DUNE_VERSION_GT(module,major,minor)
135 
150 #define DUNE_VERSION_GTE_REV(module,major,minor,revision) \
151  ((DUNE_VERSION_JOIN(module,MAJOR) > major) \
152  || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) > minor)) \
153  || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) == minor) \
154  && (DUNE_VERSION_JOIN(module,REVISION) >= revision)))
155 
170 #define DUNE_VERSION_LT_REV(module,major,minor,revision) \
171  ! DUNE_VERSION_GTE_REV(module,major,minor,revision)
172 
187 #define DUNE_VERSION_GT_REV(module,major,minor,revision) \
188  ((DUNE_VERSION_JOIN(module,MAJOR) > major) \
189  || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) > minor)) \
190  || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) == minor) \
191  && (DUNE_VERSION_JOIN(module,REVISION) > revision)))
192 
207 #define DUNE_VERSION_LTE_REV(module,major,minor,revision) \
208  ! DUNE_VERSION_GT_REV(module,major,minor,revision)
209 
224 #define DUNE_VERSION_ID(major,minor,revision) \
225  ((unsigned int)((major << 24) + (minor << 16) + revision))
226 
241 #define DUNE_MODULE_VERSION_ID(module) \
242  DUNE_VERSION_ID( DUNE_VERSION_JOIN(module,MAJOR), DUNE_VERSION_JOIN(module,MINOR), DUNE_VERSION_JOIN(module,REVISION) )
243 
244 #endif
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 4, 22:30, 2024)