HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Platform.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PRAGMA(x)   _Pragma(#x)
 
#define OPENVDB_CHECK_GCC(MAJOR, MINOR)   0
 Macro for determining if GCC version is >= than X.Y. More...
 
#define OPENVDB_HAS_CXX11   1
 OpenVDB now requires C++17. More...
 
#define OPENVDB_UBSAN_SUPPRESS(X)
 SIMD Intrinsic Headers. More...
 
#define OPENVDB_LIKELY(x)   (x)
 
#define OPENVDB_UNLIKELY(x)   (x)
 
#define OPENVDB_ASSUME(...)
 
#define OPENVDB_FORCE_INLINE   inline
 
#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN
 
#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_END
 
#define OPENVDB_DEPRECATED   [[deprecated]]
 
#define OPENVDB_DEPRECATED_MESSAGE(msg)   [[deprecated(msg)]]
 
#define OPENVDB_NO_DEPRECATION_WARNING_BEGIN
 Bracket code with OPENVDB_NO_DEPRECATION_WARNING_BEGIN/_END, to inhibit warnings about deprecated code. More...
 
#define OPENVDB_NO_DEPRECATION_WARNING_END
 
#define OPENVDB_NO_TYPE_CONVERSION_WARNING_BEGIN
 Bracket code with OPENVDB_NO_TYPE_CONVERSION_WARNING_BEGIN/_END, to inhibit warnings about type conversion. More...
 
#define OPENVDB_NO_TYPE_CONVERSION_WARNING_END
 
#define OPENVDB_TEMPLATE_IMPORT
 Helper macros for defining library symbol visibility. More...
 
#define OPENVDB_TEMPLATE_EXPORT
 
#define OPENVDB_API   OPENVDB_IMPORT
 
#define OPENVDB_HOUDINI_API   OPENVDB_IMPORT
 
#define OPENVDB_AX_API
 
#define OPENVDB_START_THREADSAFE_STATIC_REFERENCE
 
#define OPENVDB_FINISH_THREADSAFE_STATIC_REFERENCE
 
#define OPENVDB_START_THREADSAFE_STATIC_WRITE
 
#define OPENVDB_FINISH_THREADSAFE_STATIC_WRITE
 
#define OPENVDB_START_THREADSAFE_STATIC_ADDRESS
 
#define OPENVDB_FINISH_THREADSAFE_STATIC_ADDRESS
 
#define OPENVDB_START_NON_THREADSAFE_STATIC_REFERENCE
 
#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_REFERENCE
 
#define OPENVDB_START_NON_THREADSAFE_STATIC_WRITE
 
#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_WRITE
 
#define OPENVDB_START_NON_THREADSAFE_STATIC_ADDRESS
 
#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_ADDRESS
 
#define OPENVDB_THREADSAFE_STATIC_REFERENCE(CODE)   CODE
 
#define OPENVDB_THREADSAFE_STATIC_WRITE(CODE)   CODE
 
#define OPENVDB_THREADSAFE_STATIC_ADDRESS(CODE)   CODE
 
Utilities
#define OPENVDB_PREPROC_STRINGIFY(x)
 Return x as a string literal. If x is a macro, return its value as a string literal. More...
 
#define OPENVDB_PREPROC_CONCAT(x, y)
 Form a new token by concatenating two existing tokens. If either token is a macro, concatenate its value. More...
 

Macro Definition Documentation

#define OPENVDB_API   OPENVDB_IMPORT

All classes and public free standing functions must be explicitly marked as <lib>_API to be exported. The <lib>_PRIVATE macros are defined when building that particular library.

Definition at line 291 of file Platform.h.

#define OPENVDB_ASSUME (   ...)

Macros for assume builtins. Note that we currently don't simply apply these in place of asserts (when asserts are disabled) - they should be only be applied with an assert once profiled

Definition at line 115 of file Platform.h.

#define OPENVDB_AX_API

Definition at line 312 of file Platform.h.

#define OPENVDB_CHECK_GCC (   MAJOR,
  MINOR 
)    0

Macro for determining if GCC version is >= than X.Y.

Definition at line 35 of file Platform.h.

#define OPENVDB_DEPRECATED   [[deprecated]]

Deprecation macros. Define OPENVDB_NO_DEPRECATION_WARNINGS to disable all deprecation warnings in OpenVDB.

Definition at line 170 of file Platform.h.

#define OPENVDB_DEPRECATED_MESSAGE (   msg)    [[deprecated(msg)]]

Definition at line 171 of file Platform.h.

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_ADDRESS

Definition at line 357 of file Platform.h.

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_REFERENCE

Definition at line 353 of file Platform.h.

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_WRITE

Definition at line 355 of file Platform.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_ADDRESS

Definition at line 350 of file Platform.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_REFERENCE

Definition at line 346 of file Platform.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_WRITE

Definition at line 348 of file Platform.h.

#define OPENVDB_FORCE_INLINE   inline

Force inline function macros. These macros do not necessary guarantee that the decorated function will be inlined, but provide the strongest vendor annotations to that end.

Definition at line 126 of file Platform.h.

#define OPENVDB_HAS_CXX11   1

OpenVDB now requires C++17.

Definition at line 39 of file Platform.h.

#define OPENVDB_HOUDINI_API   OPENVDB_IMPORT

Definition at line 299 of file Platform.h.

#define OPENVDB_LIKELY (   x)    (x)

Macros to alias to compiler builtins which hint at critical edge selection during conditional statements.

Definition at line 91 of file Platform.h.

#define OPENVDB_NO_DEPRECATION_WARNING_BEGIN

Bracket code with OPENVDB_NO_DEPRECATION_WARNING_BEGIN/_END, to inhibit warnings about deprecated code.

Note
Only intended to be used internally whilst parent code is being deprecated

Example:

OPENVDB_DEPRECATED void myDeprecatedFunction() {}
{
myDeprecatedFunction();
}

Definition at line 217 of file Platform.h.

#define OPENVDB_NO_DEPRECATION_WARNING_END

Definition at line 218 of file Platform.h.

#define OPENVDB_NO_TYPE_CONVERSION_WARNING_BEGIN

Bracket code with OPENVDB_NO_TYPE_CONVERSION_WARNING_BEGIN/_END, to inhibit warnings about type conversion.

Note
Use this sparingly. Use static casts and explicit type conversion if at all possible.

Example:

Definition at line 244 of file Platform.h.

#define OPENVDB_NO_TYPE_CONVERSION_WARNING_END

Definition at line 245 of file Platform.h.

#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN

Bracket code with OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN/_END, as in the following example, to inhibit ICC remarks about unreachable code:

template<typename NodeType>
void processNode(NodeType& node)
{
if (NodeType::LEVEL == 0) return; // ignore leaf nodes
int i = 0;
...
}

In the above, NodeType::LEVEL == 0 is a compile-time constant expression, so for some template instantiations, the line below it is unreachable.

Definition at line 163 of file Platform.h.

#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_END

Definition at line 164 of file Platform.h.

#define OPENVDB_PREPROC_CONCAT (   x,
  y 
)

Form a new token by concatenating two existing tokens. If either token is a macro, concatenate its value.

Definition at line 27 of file Platform.h.

#define OPENVDB_PREPROC_STRINGIFY (   x)

Return x as a string literal. If x is a macro, return its value as a string literal.

Definition at line 19 of file Platform.h.

#define OPENVDB_START_NON_THREADSAFE_STATIC_ADDRESS

Definition at line 356 of file Platform.h.

#define OPENVDB_START_NON_THREADSAFE_STATIC_REFERENCE

Definition at line 352 of file Platform.h.

#define OPENVDB_START_NON_THREADSAFE_STATIC_WRITE

Definition at line 354 of file Platform.h.

#define OPENVDB_START_THREADSAFE_STATIC_ADDRESS

Definition at line 349 of file Platform.h.

#define OPENVDB_START_THREADSAFE_STATIC_REFERENCE

Definition at line 345 of file Platform.h.

#define OPENVDB_START_THREADSAFE_STATIC_WRITE

Definition at line 347 of file Platform.h.

#define OPENVDB_TEMPLATE_EXPORT

Definition at line 279 of file Platform.h.

#define OPENVDB_TEMPLATE_IMPORT

Helper macros for defining library symbol visibility.

Helper macros for explicit template instantiation

Definition at line 278 of file Platform.h.

#define OPENVDB_THREADSAFE_STATIC_ADDRESS (   CODE)    CODE

Definition at line 361 of file Platform.h.

#define OPENVDB_THREADSAFE_STATIC_REFERENCE (   CODE)    CODE

Definition at line 359 of file Platform.h.

#define OPENVDB_THREADSAFE_STATIC_WRITE (   CODE)    CODE

Definition at line 360 of file Platform.h.

#define OPENVDB_UBSAN_SUPPRESS (   X)

SIMD Intrinsic Headers.

Windows defines Macros to suppress undefined behaviour sanitizer warnings. Should be used sparingly, primarily to suppress issues in upstream dependencies.

Definition at line 77 of file Platform.h.

#define OPENVDB_UNLIKELY (   x)    (x)

Definition at line 92 of file Platform.h.

#define PRAGMA (   x)    _Pragma(#x)

Definition at line 9 of file Platform.h.