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++11. More...
 
#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN
 SIMD Intrinsic Headers. More...
 
#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 249 of file Platform.h.

#define OPENVDB_AX_API

Definition at line 270 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 122 of file Platform.h.

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

Definition at line 123 of file Platform.h.

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_ADDRESS

Definition at line 315 of file Platform.h.

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_REFERENCE

Definition at line 311 of file Platform.h.

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_WRITE

Definition at line 313 of file Platform.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_ADDRESS

Definition at line 308 of file Platform.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_REFERENCE

Definition at line 304 of file Platform.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_WRITE

Definition at line 306 of file Platform.h.

#define OPENVDB_HAS_CXX11   1

OpenVDB now requires C++11.

Definition at line 39 of file Platform.h.

#define OPENVDB_HOUDINI_API   OPENVDB_IMPORT

Definition at line 257 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 169 of file Platform.h.

#define OPENVDB_NO_DEPRECATION_WARNING_END

Definition at line 170 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 202 of file Platform.h.

#define OPENVDB_NO_TYPE_CONVERSION_WARNING_END

Definition at line 203 of file Platform.h.

#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN

SIMD Intrinsic Headers.

Windows defines 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 115 of file Platform.h.

#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_END

Definition at line 116 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 314 of file Platform.h.

#define OPENVDB_START_NON_THREADSAFE_STATIC_REFERENCE

Definition at line 310 of file Platform.h.

#define OPENVDB_START_NON_THREADSAFE_STATIC_WRITE

Definition at line 312 of file Platform.h.

#define OPENVDB_START_THREADSAFE_STATIC_ADDRESS

Definition at line 307 of file Platform.h.

#define OPENVDB_START_THREADSAFE_STATIC_REFERENCE

Definition at line 303 of file Platform.h.

#define OPENVDB_START_THREADSAFE_STATIC_WRITE

Definition at line 305 of file Platform.h.

#define OPENVDB_TEMPLATE_EXPORT

Definition at line 237 of file Platform.h.

#define OPENVDB_TEMPLATE_IMPORT

Helper macros for defining library symbol visibility.

Helper macros for explicit template instantiation

Definition at line 236 of file Platform.h.

#define OPENVDB_THREADSAFE_STATIC_ADDRESS (   CODE)    CODE

Definition at line 319 of file Platform.h.

#define OPENVDB_THREADSAFE_STATIC_REFERENCE (   CODE)    CODE

Definition at line 317 of file Platform.h.

#define OPENVDB_THREADSAFE_STATIC_WRITE (   CODE)    CODE

Definition at line 318 of file Platform.h.

#define PRAGMA (   x)    _Pragma(#x)

Definition at line 9 of file Platform.h.