37 #ifndef IMS_LIBVERSION_H__
38 #define IMS_LIBVERSION_H__
43 #if defined _WIN32 || defined __CYGWIN__
45 #define DLL_EXPORT __attribute__ ((dllexport))
46 #define DLL_IMPORT __attribute__ ((dllimport))
48 #define DLL_EXPORT __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
49 #define DLL_IMPORT __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
54 #define DLL_EXPORT __attribute__ ((visibility ("default")))
55 #define DLL_IMPORT __attribute__ ((visibility ("default")))
56 #define DLL_LOCAL __attribute__ ((visibility ("hidden")))
64 #if defined(_EXPORTING_IMS)
65 #define LIBSPEC DLL_EXPORT
66 #define LIBLOCAL DLL_LOCAL
67 #define EXPIMP_TEMPLATE
68 #elif defined(_STATIC_IMS)
71 #define EXPIMP_TEMPLATE
73 #define LIBSPEC DLL_IMPORT
74 #define LIBLOCAL DLL_LOCAL
75 #define EXPIMP_TEMPLATE extern
81 #define IMS_API_MAJOR 1
87 #define IMS_API_MINOR 4
93 #define IMS_API_PATCH 2
131 static int GetMajor();
142 static int GetMinor();
148 static int GetPatch();
155 static std::string GetVersion();
160 static bool IsAtLeast(
int major,
int minor,
int patch);
180 static bool HasFeature(
const std::string &name);
196 #undef EXPIMP_TEMPLATE
Access the version information for the API.
Definition: LibVersion.h:126
The entire API is encapsulated by the iMS namespace.
Definition: Auxiliary.h:95