Go to the documentation of this file.
69 #ifndef OPENVDB_VERSION_HAS_BEEN_INCLUDED
70 #define OPENVDB_VERSION_HAS_BEEN_INCLUDED
77 #define OPENVDB_PREPROC_STRINGIFY_(x) #x
78 #define OPENVDB_PREPROC_STRINGIFY(x) OPENVDB_PREPROC_STRINGIFY_(x)
85 #define OPENVDB_PREPROC_CONCAT_(x, y) x ## y
86 #define OPENVDB_PREPROC_CONCAT(x, y) OPENVDB_PREPROC_CONCAT_(x, y)
95 #define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER 5
96 #define OPENVDB_LIBRARY_MINOR_VERSION_NUMBER 2
97 #define OPENVDB_LIBRARY_PATCH_VERSION_NUMBER 0
101 #ifdef OPENVDB_ABI_VERSION_NUMBER
102 #if OPENVDB_ABI_VERSION_NUMBER > OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
103 #error expected OPENVDB_ABI_VERSION_NUMBER <= OPENVDB_LIBRARY_MAJOR VERSION_NUMBER
108 #if defined OPENVDB_2_ABI_COMPATIBLE
109 #define OPENVDB_ABI_VERSION_NUMBER 2
110 #elif defined OPENVDB_3_ABI_COMPATIBLE
111 #define OPENVDB_ABI_VERSION_NUMBER 3
113 #define OPENVDB_ABI_VERSION_NUMBER OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
117 #if OPENVDB_ABI_VERSION_NUMBER == OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
118 #define OPENVDB_VERSION_NAME \
137 OPENVDB_PREPROC_CONCAT(v, \
138 OPENVDB_PREPROC_CONCAT(OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER, \
139 OPENVDB_PREPROC_CONCAT(_, OPENVDB_LIBRARY_MINOR_VERSION_NUMBER)))
142 #define OPENVDB_VERSION_NAME \
143 OPENVDB_PREPROC_CONCAT(v, \
144 OPENVDB_PREPROC_CONCAT(OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER, \
145 OPENVDB_PREPROC_CONCAT(_, \
146 OPENVDB_PREPROC_CONCAT(OPENVDB_LIBRARY_MINOR_VERSION_NUMBER, \
147 OPENVDB_PREPROC_CONCAT(abi, OPENVDB_ABI_VERSION_NUMBER)))))
155 #define OPENVDB_LIBRARY_VERSION_STRING \
156 OPENVDB_PREPROC_STRINGIFY(OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER) "." \
157 OPENVDB_PREPROC_STRINGIFY(OPENVDB_LIBRARY_MINOR_VERSION_NUMBER) "." \
158 OPENVDB_PREPROC_STRINGIFY(OPENVDB_LIBRARY_PATCH_VERSION_NUMBER)
165 #define OPENVDB_LIBRARY_ABI_VERSION_STRING \
166 OPENVDB_LIBRARY_VERSION_STRING "abi" OPENVDB_PREPROC_STRINGIFY(OPENVDB_ABI_VERSION_NUMBER)
169 #define OPENVDB_LIBRARY_VERSION_NUMBER \
170 ((OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER << 24) | \
171 ((OPENVDB_LIBRARY_MINOR_VERSION_NUMBER & 0xFF) << 16) | \
172 (OPENVDB_LIBRARY_PATCH_VERSION_NUMBER & 0xFFFF))
183 #ifdef OPENVDB_REQUIRE_VERSION_NAME
184 #define OPENVDB_USE_VERSION_NAMESPACE
188 #define OPENVDB_USE_VERSION_NAMESPACE \
189 namespace OPENVDB_VERSION_NAME {} \
190 using namespace OPENVDB_VERSION_NAME;
247 VersionId(uint32_t major, uint32_t minor): first(major), second(minor) {}
253 #endif // OPENVDB_VERSION_HAS_BEEN_INCLUDED
constexpr const char * getLibraryVersionString()
Return a library version number string of the form "<major>.<minor>.<patch>".
Definition: version.h:237
Definition: version.h:225
#define OPENVDB_LIBRARY_VERSION_STRING
Library version number string of the form "<major>.<minor>.<patch>".
Definition: version.h:155
#define OPENVDB_LIBRARY_PATCH_VERSION_NUMBER
Definition: version.h:97
const uint32_t OPENVDB_LIBRARY_MINOR_VERSION
Definition: version.h:205
#define OPENVDB_LIBRARY_ABI_VERSION_STRING
Library version number string of the form "<major>.<minor>.<patch>abi<abi>".
Definition: version.h:165
const uint32_t OPENVDB_FILE_VERSION
The current version number of the VDB file format.
Definition: version.h:215
Definition: version.h:231
Definition: version.h:230
Definition: version.h:219
const uint32_t OPENVDB_ABI_VERSION
Definition: version.h:210
uint32_t second
Definition: version.h:245
#define OPENVDB_LIBRARY_VERSION_NUMBER
Library version number as a packed integer ("%02x%02x%04x", major, minor, patch)
Definition: version.h:169
const uint32_t OPENVDB_LIBRARY_VERSION
Library version number as a packed integer ("%02x%02x%04x", major, minor, patch)
Definition: version.h:208
const int32_t OPENVDB_MAGIC
The magic number is stored in the first four bytes of every VDB file.
Definition: version.h:200
Definition: version.h:244
Definition: version.h:228
const uint32_t OPENVDB_LIBRARY_MAJOR_VERSION
Definition: version.h:204
Definition: version.h:229
VersionId(uint32_t major, uint32_t minor)
Definition: version.h:247
Definition: version.h:227
constexpr const char * getLibraryAbiVersionString()
Return a library version number string of the form "<major>.<minor>.<patch>abi<abi>".
Definition: version.h:239
#define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
Definition: version.h:95
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:188
Definition: version.h:223
VersionId()
Definition: version.h:246
Definition: version.h:226
Definition: version.h:220
Definition: version.h:222
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:136
const uint32_t OPENVDB_LIBRARY_PATCH_VERSION
Definition: version.h:206
#define OPENVDB_LIBRARY_MINOR_VERSION_NUMBER
Definition: version.h:96
Definition: version.h:232
Definition: version.h:221
Definition: version.h:224
Definition: Exceptions.h:40