VTK
9.5.20251004
|
Go to the source code of this file.
Macros | |
#define | VTK_ASSUME(cond) |
VTK_ASSUME instructs the compiler that a certain non-obvious condition will always be true. | |
#define | VTK_ASSUME_NO_ASSERT(cond) |
#define | VTK_HAS_BUILTIN(x) 0 |
#define | VTK_ASSUME_IMPL(cond) |
#define | VTK_EXPECT(cond, expected) (cond) |
#define | VTK_LIKELY(cond) (cond) |
#define | VTK_UNLIKELY(cond) (cond) |
#define VTK_ASSUME | ( | cond | ) |
VTK_ASSUME instructs the compiler that a certain non-obvious condition will always be true.
Beware that if cond is false at runtime, the results are unpredictable (and likely catastrophic). A runtime assertion is added so that debugging builds may easily catch violations of the condition.
A useful application of this macro is when a vtkGenericDataArray subclass has a known number of components at compile time. Adding, for example, VTK_ASSUME(array->GetNumberOfComponents() == 3); allows the compiler to provide faster access through the GetTypedComponent method, as the fixed data stride in AOS arrays allows advanced optimization of the accesses.
A more detailed description of this class and related tools can be found here.
Definition at line 30 of file vtkAssume.h.
#define VTK_ASSUME_NO_ASSERT | ( | cond | ) |
Definition at line 39 of file vtkAssume.h.
#define VTK_HAS_BUILTIN | ( | x | ) | 0 |
Definition at line 50 of file vtkAssume.h.
#define VTK_ASSUME_IMPL | ( | cond | ) |
Definition at line 65 of file vtkAssume.h.
#define VTK_EXPECT | ( | cond, | |
expected | |||
) | (cond) |
Definition at line 77 of file vtkAssume.h.
#define VTK_LIKELY | ( | cond | ) | (cond) |
Definition at line 78 of file vtkAssume.h.
#define VTK_UNLIKELY | ( | cond | ) | (cond) |
Definition at line 79 of file vtkAssume.h.