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 6 96 #define OPENVDB_LIBRARY_MINOR_VERSION_NUMBER 0 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 const uint32_t OPENVDB_LIBRARY_MAJOR_VERSION
Definition: version.h:204
const uint32_t OPENVDB_LIBRARY_PATCH_VERSION
Definition: version.h:206
uint32_t second
Definition: version.h:245
#define OPENVDB_LIBRARY_VERSION_STRING
Library version number string of the form "<major>.<minor>.<patch>".
Definition: version.h:155
Definition: version.h:224
Definition: version.h:221
const uint32_t OPENVDB_ABI_VERSION
Definition: version.h:210
const uint32_t OPENVDB_LIBRARY_MINOR_VERSION
Definition: version.h:205
constexpr const char * getLibraryAbiVersionString()
Return a library version number string of the form "<major>.<minor>.<patch>abi<abi>".
Definition: version.h:239
const int32_t OPENVDB_MAGIC
The magic number is stored in the first four bytes of every VDB file.
Definition: version.h:200
VersionId(uint32_t major, uint32_t minor)
Definition: version.h:247
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:136
Definition: version.h:220
Definition: version.h:225
Definition: version.h:226
Definition: Exceptions.h:40
#define OPENVDB_LIBRARY_VERSION_NUMBER
Library version number as a packed integer ("%02x%02x%04x", major, minor, patch)
Definition: version.h:169
#define OPENVDB_LIBRARY_ABI_VERSION_STRING
Library version number string of the form "<major>.<minor>.<patch>abi<abi>".
Definition: version.h:165
Definition: version.h:228
Definition: version.h:227
Definition: version.h:244
Definition: version.h:229
Definition: version.h:223
constexpr const char * getLibraryVersionString()
Return a library version number string of the form "<major>.<minor>.<patch>".
Definition: version.h:237
#define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
Definition: version.h:95
Definition: version.h:219
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:188
Definition: version.h:231
#define OPENVDB_LIBRARY_MINOR_VERSION_NUMBER
Definition: version.h:96
const uint32_t OPENVDB_FILE_VERSION
The current version number of the VDB file format.
Definition: version.h:215
Definition: version.h:222
VersionId()
Definition: version.h:246
Definition: version.h:232
const uint32_t OPENVDB_LIBRARY_VERSION
Library version number as a packed integer ("%02x%02x%04x", major, minor, patch)
Definition: version.h:208
Definition: version.h:230
#define OPENVDB_LIBRARY_PATCH_VERSION_NUMBER
Definition: version.h:97