diff options
author | Julian Eisel <julian@blender.org> | 2020-03-26 23:03:42 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-03-26 23:18:45 +0300 |
commit | c94b6209861ca7cc3985b53474feed7d94c0221a (patch) | |
tree | 752054f0dca1338cda5cf8ad4f6d18573fcca3b9 /source/blender/blenlib/BLI_index_range.h | |
parent | 357ed79cb93f9d655501a828c6cddd68282de62d (diff) | |
parent | afb1a64ccb81b7ed792f64151986f40f53af8da5 (diff) |
Merge branch 'master' into wm-drag-drop-rewrite
Diffstat (limited to 'source/blender/blenlib/BLI_index_range.h')
-rw-r--r-- | source/blender/blenlib/BLI_index_range.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/blender/blenlib/BLI_index_range.h b/source/blender/blenlib/BLI_index_range.h index a1fed5bd97c..4553c996454 100644 --- a/source/blender/blenlib/BLI_index_range.h +++ b/source/blender/blenlib/BLI_index_range.h @@ -25,12 +25,17 @@ * cases, a separate data structure should be used. */ -#include <cmath> #include <algorithm> +#include <cmath> #include <iostream> #include "BLI_utildefines.h" +/* Forward declare tbb::blocked_range for conversion operations. */ +namespace tbb { +template<typename Value> class blocked_range; +} + namespace BLI { template<typename T> class ArrayRef; @@ -51,6 +56,11 @@ class IndexRange { { } + template<typename T> + IndexRange(const tbb::blocked_range<T> &range) : m_start(range.begin()), m_size(range.size()) + { + } + class Iterator { private: uint m_current; @@ -179,6 +189,11 @@ class IndexRange { return IndexRange(new_start, size); } + IndexRange slice(IndexRange range) const + { + return this->slice(range.start(), range.size()); + } + /** * Get read-only access to a memory buffer that contains the range as actual numbers. */ |