#include <cctype>
Go to the source code of this file.
Macros | |
#define | VTKM_NO_ASSERT |
#define | VTKM_NO_ASSERT_CUDA |
#define | VTKM_NO_ASSERT_HIP |
#define | VTKM_USE_64BIT_IDS |
#define | VTKM_SIZE_LONG 8 |
#define | VTKM_SIZE_LONG_LONG 8 |
#define | VTKM_ALLOCATION_ALIGNMENT 64 |
#define | VTKM_THIRDPARTY_PRE_INCLUDE |
#define | VTKM_THIRDPARTY_POST_INCLUDE |
#define | VTKM_VECTORIZATION_PRE_LOOP |
#define | VTKM_VECTORIZATION_IN_LOOP |
#define | VTKM_ENABLE_LOGGING |
#define | VTKM_SWALLOW_SEMICOLON_PRE_BLOCK do |
#define | VTKM_SWALLOW_SEMICOLON_POST_BLOCK while (false) |
#define | VTKM_PASS_COMMAS(...) __VA_ARGS__ |
A trick to pass arguments containing commas through a macro. More... | |
#define | VTKM_EXPAND(expr) expr |
A utility macro to expand the arguments of macro before invoking it in the preprocessor. More... | |
#define | VTKM_FALLTHROUGH ((void)0) |
#define VTKM_NO_ASSERT |
Definition at line 76 of file Configure.h.
#define VTKM_NO_ASSERT_CUDA |
Definition at line 80 of file Configure.h.
#define VTKM_NO_ASSERT_HIP |
Definition at line 84 of file Configure.h.
#define VTKM_USE_64BIT_IDS |
Definition at line 96 of file Configure.h.
#define VTKM_SIZE_LONG 8 |
Definition at line 103 of file Configure.h.
#define VTKM_SIZE_LONG_LONG 8 |
Definition at line 104 of file Configure.h.
#define VTKM_ALLOCATION_ALIGNMENT 64 |
Definition at line 108 of file Configure.h.
#define VTKM_THIRDPARTY_PRE_INCLUDE |
Definition at line 191 of file Configure.h.
#define VTKM_THIRDPARTY_POST_INCLUDE |
Definition at line 192 of file Configure.h.
#define VTKM_VECTORIZATION_PRE_LOOP |
Definition at line 275 of file Configure.h.
#define VTKM_VECTORIZATION_IN_LOOP |
Definition at line 276 of file Configure.h.
#define VTKM_ENABLE_LOGGING |
Definition at line 331 of file Configure.h.
#define VTKM_SWALLOW_SEMICOLON_PRE_BLOCK do |
Definition at line 352 of file Configure.h.
#define VTKM_SWALLOW_SEMICOLON_POST_BLOCK while (false) |
Definition at line 354 of file Configure.h.
#define VTKM_PASS_COMMAS | ( | ... | ) | __VA_ARGS__ |
A trick to pass arguments containing commas through a macro.
This is helpful for mixing template code with macros.
See https://stackoverflow.com/questions/13842468
Definition at line 364 of file Configure.h.
#define VTKM_EXPAND | ( | expr | ) | expr |
A utility macro to expand the arguments of macro before invoking it in the preprocessor.
This is mostly used to handle the __VA_ARGS__
created for variadic preprocessor macros. Often you will have to pass __VA_ARGS__
to another macro to tease out particular parameters. For example, to get the first argument, you might make something like this.
You would expect this pair of macros to give you the first argument or the token no_arg
if no arguments were given, and for most compilers that is what you would get. But Visual Studio in particular has a weird interpretation of the standard that causes __VA_ARGS__
to be treated as a single argument when passed to another macro. Consequently, for the example above, Visual Studio actually returns all args passed instead of the first. To get around the problem, you can wrap the entire call to the secondary macro in VTKM_EXPAND to get Visual Studio (and all other compilers) to properly treat __VA_ARGS__
as separate arguments.
Definition at line 394 of file Configure.h.
#define VTKM_FALLTHROUGH ((void)0) |
Definition at line 430 of file Configure.h.