libzypp 17.31.23
|
#include <zypp-core/Globals.h>
#include <zypp-core/base/Easy.h>
Go to the source code of this file.
Macros | |
#define | LEGACY(CL) ( CL < 100 && LIBZYPP_VERSION_MAJOR <= CL ) || ( CL < 10000 && LIBZYPP_SOVERSION <= CL ) || LIBZYPP_VERSION <= CL |
Legacy code we still support. | |
#define | ZYPP_DECL_EXPORT |
Generic helper definitions for shared library support. | |
#define | ZYPP_DECL_IMPORT |
#define | ZYPP_DECL_HIDDEN |
#define | ZYPP_API ZYPP_DECL_IMPORT |
#define | ZYPP_LOCAL |
#define | ZYPP_DEPRECATED |
The ZYPP_DEPRECATED macro can be used to trigger compile-time warnings with gcc >= 3.2 when deprecated functions are used. | |
#define LEGACY | ( | CL | ) | ( CL < 100 && LIBZYPP_VERSION_MAJOR <= CL ) || ( CL < 10000 && LIBZYPP_SOVERSION <= CL ) || LIBZYPP_VERSION <= CL |
Legacy code we still support.
Deprecated items we can't drop immediately because YAST/PK still refer to them or they break binary compatibility, should be enclosed in #if LEGACY(#)
where # is either a minor number(<=99), a soversion [<=9999] or numversion [<=999999].
#define ZYPP_DECL_EXPORT |
Generic helper definitions for shared library support.
#define ZYPP_API ZYPP_DECL_IMPORT |
#define ZYPP_DEPRECATED |
The ZYPP_DEPRECATED macro can be used to trigger compile-time warnings with gcc >= 3.2 when deprecated functions are used.
For non-inline functions, the macro is used at the very end of the function declaration, right before the semicolon, unless it's pure virtual:
int deprecatedFunc() const ZYPP_DEPRECATED; virtual int deprecatedPureVirtualFunc() const ZYPP_DEPRECATED = 0;
Functions which are implemented inline are handled differently: the ZYPP_DEPRECATED macro is used at the front, right before the return type, but after "static" or "virtual":
ZYPP_DEPRECATED void deprecatedFuncA() { .. } virtual ZYPP_DEPRECATED int deprecatedFuncB() { .. } static ZYPP_DEPRECATED bool deprecatedFuncC() { .. }
You can also mark whole structs or classes as deprecated, by inserting the ZYPP_DEPRECATED macro after the struct/class keyword, but before the name of the struct/class:
class ZYPP_DEPRECATED DeprecatedClass { }; struct ZYPP_DEPRECATED DeprecatedStruct { };
However, deprecating a struct/class doesn't create a warning for gcc versions <= 3.3 (haven't tried 3.4 yet). If you want to deprecate a class, also deprecate all member functions as well (which will cause warnings).