Go to the documentation of this file.
69 #ifndef OPENVDB_VERSION_HAS_BEEN_INCLUDED
70 #define OPENVDB_VERSION_HAS_BEEN_INCLUDED
76 #define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER 6
77 #define OPENVDB_LIBRARY_MINOR_VERSION_NUMBER 1
78 #define OPENVDB_LIBRARY_PATCH_VERSION_NUMBER 0
82 #ifdef OPENVDB_ABI_VERSION_NUMBER
83 #if OPENVDB_ABI_VERSION_NUMBER > OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
84 #error expected OPENVDB_ABI_VERSION_NUMBER <= OPENVDB_LIBRARY_MAJOR VERSION_NUMBER
89 #if defined OPENVDB_2_ABI_COMPATIBLE
90 #define OPENVDB_ABI_VERSION_NUMBER 2
91 #elif defined OPENVDB_3_ABI_COMPATIBLE
92 #define OPENVDB_ABI_VERSION_NUMBER 3
94 #define OPENVDB_ABI_VERSION_NUMBER OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
100 #ifndef OPENVDB_USE_DEPRECATED_ABI
101 #if OPENVDB_ABI_VERSION_NUMBER <= 3
102 #error ABI <= 3 is deprecated, define OPENVDB_USE_DEPRECATED_ABI to suppress this error
106 #if OPENVDB_ABI_VERSION_NUMBER == OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
107 #define OPENVDB_VERSION_NAME \
126 OPENVDB_PREPROC_CONCAT(v, \
127 OPENVDB_PREPROC_CONCAT(OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER, \
128 OPENVDB_PREPROC_CONCAT(_, OPENVDB_LIBRARY_MINOR_VERSION_NUMBER)))
131 #define OPENVDB_VERSION_NAME \
132 OPENVDB_PREPROC_CONCAT(v, \
133 OPENVDB_PREPROC_CONCAT(OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER, \
134 OPENVDB_PREPROC_CONCAT(_, \
135 OPENVDB_PREPROC_CONCAT(OPENVDB_LIBRARY_MINOR_VERSION_NUMBER, \
136 OPENVDB_PREPROC_CONCAT(abi, OPENVDB_ABI_VERSION_NUMBER)))))
144 #define OPENVDB_LIBRARY_VERSION_STRING \
145 OPENVDB_PREPROC_STRINGIFY(OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER) "." \
146 OPENVDB_PREPROC_STRINGIFY(OPENVDB_LIBRARY_MINOR_VERSION_NUMBER) "." \
147 OPENVDB_PREPROC_STRINGIFY(OPENVDB_LIBRARY_PATCH_VERSION_NUMBER)
154 #define OPENVDB_LIBRARY_ABI_VERSION_STRING \
155 OPENVDB_LIBRARY_VERSION_STRING "abi" OPENVDB_PREPROC_STRINGIFY(OPENVDB_ABI_VERSION_NUMBER)
158 #define OPENVDB_LIBRARY_VERSION_NUMBER \
159 ((OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER << 24) | \
160 ((OPENVDB_LIBRARY_MINOR_VERSION_NUMBER & 0xFF) << 16) | \
161 (OPENVDB_LIBRARY_PATCH_VERSION_NUMBER & 0xFFFF))
172 #ifdef OPENVDB_REQUIRE_VERSION_NAME
173 #define OPENVDB_USE_VERSION_NAMESPACE
177 #define OPENVDB_USE_VERSION_NAMESPACE \
178 namespace OPENVDB_VERSION_NAME {} \
179 using namespace OPENVDB_VERSION_NAME;
236 VersionId(uint32_t major, uint32_t minor): first(major), second(minor) {}
242 #endif // OPENVDB_VERSION_HAS_BEEN_INCLUDED
uint32_t second
Definition: version.h:234
Definition: version.h:214
VersionId()
Definition: version.h:235
constexpr const char * getLibraryAbiVersionString()
Return a library version number string of the form "<major>.<minor>.<patch>abi<abi>".
Definition: version.h:228
const uint32_t OPENVDB_LIBRARY_MAJOR_VERSION
Definition: version.h:193
#define OPENVDB_LIBRARY_VERSION_STRING
Library version number string of the form "<major>.<minor>.<patch>".
Definition: version.h:144
Definition: version.h:216
#define OPENVDB_LIBRARY_PATCH_VERSION_NUMBER
Definition: version.h:78
Definition: version.h:215
Definition: version.h:209
#define OPENVDB_LIBRARY_ABI_VERSION_STRING
Library version number string of the form "<major>.<minor>.<patch>abi<abi>".
Definition: version.h:154
Definition: version.h:208
const uint32_t OPENVDB_ABI_VERSION
Definition: version.h:199
Definition: version.h:217
Definition: version.h:212
#define OPENVDB_LIBRARY_VERSION_NUMBER
Library version number as a packed integer ("%02x%02x%04x", major, minor, patch)
Definition: version.h:158
Definition: version.h:220
Definition: version.h:218
Definition: version.h:211
Definition: version.h:213
const int32_t OPENVDB_MAGIC
The magic number is stored in the first four bytes of every VDB file.
Definition: version.h:189
Definition: version.h:219
Definition: version.h:221
Definition: version.h:210
Definition: version.h:233
const uint32_t OPENVDB_LIBRARY_MINOR_VERSION
Definition: version.h:194
#define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
Definition: version.h:76
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:177
constexpr const char * getLibraryVersionString()
Return a library version number string of the form "<major>.<minor>.<patch>".
Definition: version.h:226
VersionId(uint32_t major, uint32_t minor)
Definition: version.h:236
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:125
#define OPENVDB_LIBRARY_MINOR_VERSION_NUMBER
Definition: version.h:77
const uint32_t OPENVDB_FILE_VERSION
The current version number of the VDB file format.
Definition: version.h:204
Definition: Exceptions.h:40
const uint32_t OPENVDB_LIBRARY_PATCH_VERSION
Definition: version.h:195
const uint32_t OPENVDB_LIBRARY_VERSION
Library version number as a packed integer ("%02x%02x%04x", major, minor, patch)
Definition: version.h:197