diff options
author | Jacques Lucke <jacques@blender.org> | 2021-12-27 18:08:11 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-12-27 18:08:11 +0300 |
commit | 51a131ddbc2eeebd13cdc6a71b2d356267fda73e (patch) | |
tree | f85e2e4f2f809e0ebba5876428a1d07ed6ea20cc /source/blender/blenlib/BLI_memory_utils.hh | |
parent | 594438ef0d6135a5bbf9101292db9f2d3aca9312 (diff) |
BLI: add utility to check if type is any specific type
This adds `blender::is_same_any_v` which is the almost the same as
`std::is_same_v`. The difference is that it allows for checking multiple
types at the same time.
Differential Revision: https://developer.blender.org/D13673
Diffstat (limited to 'source/blender/blenlib/BLI_memory_utils.hh')
-rw-r--r-- | source/blender/blenlib/BLI_memory_utils.hh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_memory_utils.hh b/source/blender/blenlib/BLI_memory_utils.hh index 14eca49d126..9a5be79b61e 100644 --- a/source/blender/blenlib/BLI_memory_utils.hh +++ b/source/blender/blenlib/BLI_memory_utils.hh @@ -498,6 +498,12 @@ inline constexpr bool is_span_convertible_pointer_v = std::is_same_v<To, const void *>); /** + * Same as #std::is_same_v but allows for checking multiple types at the same time. + */ +template<typename T, typename... Args> +inline constexpr bool is_same_any_v = (std::is_same_v<T, Args> || ...); + +/** * Inline buffers for small-object-optimization should be disable by default. Otherwise we might * get large unexpected allocations on the stack. */ |