Quick Links: |
Provide machinery to deprecate interfaces on a per-version basis. More...
Go to the source code of this file.
Defines | |
#define | BSLS_DEPRECATE_COMPILER_SUPPORT 0 |
#define | BSLS_DEPRECATE |
#define | BSLS_DEPRECATE_CAT(X, Y) BSLS_DEPRECATE_CAT_A(X, Y) |
#define | BSLS_DEPRECATE_CAT_A(X, Y) BSLS_DEPRECATE_CAT_B(X, Y) |
#define | BSLS_DEPRECATE_CAT_B(X, Y) X ## Y |
#define | BSLS_DEPRECATE_ISDEFINED(...) BSLS_DEPRECATE_ISDEFINED_A(__VA_ARGS__) |
#define | BSLS_DEPRECATE_ISDEFINED_A(...) ((__VA_ARGS__ ## 1L) != 0) |
#define | BSLS_DEPRECATE_ISNONZERO(...) BSLS_DEPRECATE_ISNONZERO_A(__VA_ARGS__) |
#define | BSLS_DEPRECATE_ISNONZERO_A(...) (__VA_ARGS__ + 1 != 1) |
#define | BSLS_DEPRECATE_MAKE_VER(M, N) ((M) * 1000 + (N)) |
#define | BSLS_DEPRECATE_ISPASTTHRESHOLD(U, M, N) |
#define | BSLS_DEPRECATE_ISPASTTHRESHOLD_A(U) BSLS_DEPRECATE_CAT(U, _VERSION_DEPRECATION_THRESHOLD) |
#define | BSLS_DEPRECATE_ISRETAINED(U, M, N) BSLS_DEPRECATE_ISRETAINED_A(U, M, N) |
#define | BSLS_DEPRECATE_ISRETAINED_A(U, M, N) BSLS_DEPRECATE_ISRETAINED_B(U, M, N) |
#define | BSLS_DEPRECATE_ISRETAINED_B(U, M, N) |
#define | BSLS_DEPRECATE_IS_ACTIVE(U, M, N) |
Variables | |
*< ul > *< li > *An deprecation threshold has been defined for UOR< code > U </code > and *that threshold is greater than or equal to version< code > M | N</code > |
*< ul > *< li > *An deprecation threshold has been defined for UOR< code > U </code > and *that threshold is greater than or equal to version< code > M or *</li > * < li > *An deprecation threshold has< em > not</em > been defined for UOR< code > | U</code > |
*< ul > *< li > *An deprecation threshold has been defined for UOR< code > U </code > and *that threshold is greater than or equal to version< code > M or *</li > * < li > *An deprecation threshold has< em > not</em > been defined for UOR< code > *the versioning package for UOR< code > U</code > defines < code >< U> _VERSION_MAJOR </code > and *< code >< U> | _VERSION_MINOR</code > |
*< ul > *< li > *< code > BB_SILENCE_DEPRECATIONS_< U> _< M> _< N></code > has not been defined in this *translation | unit |
*< ul > *< li > *< code > BB_SILENCE_DEPRECATIONS_< U> _< M> _< N></code > has not been defined in this *translation and *</li > *< li > * < code > BB_SILENCE_DEPRECATIONS_FOR_BUILDING_UOR_ < U></code > has not been defined *in this translation and *</li > *< li > *One of the following holds | true |
#define BSLS_DEPRECATE_COMPILER_SUPPORT 0 |
< Check the Sun compiler macros directly, rather than rely on the BDE platform-detection macros in bsls_platform
, to allow deprecation of features in that component in the future. This feature was last tested with CC 12.5.
#define BSLS_DEPRECATE |
#define BSLS_DEPRECATE_CAT | ( | X, | ||
Y | ||||
) | BSLS_DEPRECATE_CAT_A(X, Y) |
#define BSLS_DEPRECATE_CAT_A | ( | X, | ||
Y | ||||
) | BSLS_DEPRECATE_CAT_B(X, Y) |
#define BSLS_DEPRECATE_CAT_B | ( | X, | ||
Y | ||||
) | X ## Y |
#define BSLS_DEPRECATE_ISDEFINED | ( | ... | ) | BSLS_DEPRECATE_ISDEFINED_A(__VA_ARGS__) |
#define BSLS_DEPRECATE_ISDEFINED_A | ( | ... | ) | ((__VA_ARGS__ ## 1L) != 0) |
#define BSLS_DEPRECATE_ISNONZERO | ( | ... | ) | BSLS_DEPRECATE_ISNONZERO_A(__VA_ARGS__) |
#define BSLS_DEPRECATE_ISNONZERO_A | ( | ... | ) | (__VA_ARGS__ + 1 != 1) |
#define BSLS_DEPRECATE_MAKE_VER | ( | M, | ||
N | ||||
) | ((M) * 1000 + (N)) |
#define BSLS_DEPRECATE_ISPASTTHRESHOLD | ( | U, | ||
M, | ||||
N | ||||
) |
( ( BSLS_DEPRECATE_ISNONZERO(BSLS_DEPRECATE_ISPASTTHRESHOLD_A(U)) \ && BSLS_DEPRECATE_MAKE_VER(M, N) \ <= BSLS_DEPRECATE_ISPASTTHRESHOLD_A(U)) \ || ( !BSLS_DEPRECATE_ISNONZERO(BSLS_DEPRECATE_ISPASTTHRESHOLD_A(U)) \ && BSLS_DEPRECATE_MAKE_VER(M, N) \ <= BSLS_DEPRECATE_MAKE_VER( \ BSLS_DEPRECATE_CAT(U, _VERSION_MAJOR), \ BSLS_DEPRECATE_CAT(U, _VERSION_MINOR)) - 1))
#define BSLS_DEPRECATE_ISPASTTHRESHOLD_A | ( | U | ) | BSLS_DEPRECATE_CAT(U, _VERSION_DEPRECATION_THRESHOLD) |
#define BSLS_DEPRECATE_ISRETAINED | ( | U, | ||
M, | ||||
N | ||||
) | BSLS_DEPRECATE_ISRETAINED_A(U, M, N) |
#define BSLS_DEPRECATE_ISRETAINED_A | ( | U, | ||
M, | ||||
N | ||||
) | BSLS_DEPRECATE_ISRETAINED_B(U, M, N) |
#define BSLS_DEPRECATE_ISRETAINED_B | ( | U, | ||
M, | ||||
N | ||||
) |
(BSLS_DEPRECATE_ISDEFINED(BB_SILENCE_DEPRECATIONS_## U ##_## M ##_## N) \ || BSLS_DEPRECATE_ISDEFINED(BB_SILENCE_DEPRECATIONS_FOR_BUILDING_UOR_ ## U))
#define BSLS_DEPRECATE_IS_ACTIVE | ( | U, | ||
M, | ||||
N | ||||
) |
( !BSLS_DEPRECATE_ISRETAINED(U, M, N) \ && ( BSLS_DEPRECATE_ISDEFINED(BB_WARN_ALL_DEPRECATIONS_FOR_TESTING_ONLY)\ || BSLS_DEPRECATE_ISPASTTHRESHOLD(U, M, N)))
*< ul > *< li > *< code > BB_SILENCE_DEPRECATIONS_< U> _< M> _< N></code > has not been defined in this *translation and *</li > *< li > *< code > BB_SILENCE_DEPRECATIONS_FOR_BUILDING_UOR_< U></code > has not been defined *in this translation and *</li > *< li > *One of the following holds or *</li > *< li > *An deprecation threshold has been defined for UOR< code > U</code > and *that threshold is greater than or equal to version< code > M N</code > [explicit] |
*< ul > *< li > *< code > BB_SILENCE_DEPRECATIONS_< U> _< M> _< N></code > has not been defined in this *translation and *</li > *< li > *< code > BB_SILENCE_DEPRECATIONS_FOR_BUILDING_UOR_< U></code > has not been defined *in this translation and *</li > *< li > *One of the following holds or *</li > *< li > *An deprecation threshold has been defined for UOR< code > U</code > and *that threshold is greater than or equal to version< code > M or *</li > *< li > *An deprecation threshold has< em > not</em > been defined for UOR *< code > U</code > [explicit] |
*< ul > *< li > *< code > BB_SILENCE_DEPRECATIONS_< U> _< M> _< N></code > has not been defined in this *translation and *</li > *< li > *< code > BB_SILENCE_DEPRECATIONS_FOR_BUILDING_UOR_< U></code > has not been defined *in this translation and *</li > *< li > *One of the following holds or *</li > *< li > *An deprecation threshold has been defined for UOR< code > U</code > and *that threshold is greater than or equal to version< code > M or *</li > *< li > *An deprecation threshold has< em > not</em > been defined for UOR *< code > the versioning package for UOR< code > U</code > defines< code >< U> _VERSION_MAJOR</code > *and< code >< U> _VERSION_MINOR</code > [explicit] |
*< ul > *< li > *< code > BB_SILENCE_DEPRECATIONS_< U> _< M> _< N></code > has not been defined in this *translation and *</li > *< li > *< code > BB_SILENCE_DEPRECATIONS_FOR_BUILDING_UOR_< U></code > has not been defined *in this translation unit |
*<ul> *<li> *<code> BB_SILENCE_DEPRECATIONS_<U> _<M> _<N></code> has not been defined in this* translation and*</li> *<li> *<code> BB_SILENCE_DEPRECATIONS_FOR_BUILDING_UOR_<U></code> has not been defined* in this translation and*</li> *<li> * One of the following holds true |