HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Platform.h File Reference
#include "PlatformConfig.h"
+ Include dependency graph for Platform.h:
+ 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_DEPRECATED   __attribute__ ((deprecated))
 
#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_STATIC_SPECIALIZATION   static
 
#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN
 SIMD Intrinsic Headers. More...
 
#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_END
 
#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_API   OPENVDB_IMPORT
 Helper macros for defining library symbol visibility. More...
 
#define OPENVDB_HOUDINI_API   OPENVDB_IMPORT
 
Utilities
#define OPENVDB_PREPROC_STRINGIFY(x)   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)   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

Helper macros for defining library symbol visibility.

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 230 of file Platform.h.

#define OPENVDB_CHECK_GCC (   MAJOR,
  MINOR 
)    0

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

Definition at line 50 of file Platform.h.

#define OPENVDB_DEPRECATED   __attribute__ ((deprecated))

Use OPENVDB_DEPRECATED to mark functions as deprecated. It should be placed right before the signature of the function, e.g., "OPENVDB_DEPRECATED void functionName();".

Definition at line 42 of file Platform.h.

#define OPENVDB_HAS_CXX11   1

OpenVDB now requires C++11.

Definition at line 54 of file Platform.h.

#define OPENVDB_HOUDINI_API   OPENVDB_IMPORT

Definition at line 238 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
Use this sparingly. Remove references to deprecated code if at all possible.

Example:

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

Definition at line 163 of file Platform.h.

#define OPENVDB_NO_DEPRECATION_WARNING_END

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

#define OPENVDB_NO_TYPE_CONVERSION_WARNING_END

Definition at line 197 of file Platform.h.

#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN

SIMD Intrinsic Headers.

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 114 of file Platform.h.

#define OPENVDB_NO_UNREACHABLE_CODE_WARNING_END

Definition at line 115 of file Platform.h.

#define OPENVDB_PREPROC_CONCAT (   x,
  y 
)    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 29 of file Platform.h.

#define OPENVDB_PREPROC_STRINGIFY (   x)    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 21 of file Platform.h.

#define OPENVDB_STATIC_SPECIALIZATION   static

For compilers that need templated function specializations to have storage qualifiers, we need to declare the specializations as static inline. Otherwise, we'll get linker errors about multiply defined symbols.

Definition at line 62 of file Platform.h.

#define PRAGMA (   x)    _Pragma(#x)

Definition at line 11 of file Platform.h.