VTK
9.4.20241121
|
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_ASSUME_IMPL(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_ASSUME_IMPL | ( | cond | ) |
Definition at line 55 of file vtkAssume.h.