Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2021-03-17 18:38:49 +0300
committerJacques Lucke <jacques@blender.org>2021-03-17 18:38:49 +0300
commite9eb08fea16ab033bec52e9b7355f6b52245e152 (patch)
tree883911deff8960307ec6a4c10a7cf83633ac9bbc /source/blender/blenlib/BLI_span.hh
parentbf620020f135eab149b6327b79de8b378d99be7e (diff)
BLI: support equality operator on Span and Vector
This is quite convenient sometimes and is available for `std::vector` as well.
Diffstat (limited to 'source/blender/blenlib/BLI_span.hh')
-rw-r--r--source/blender/blenlib/BLI_span.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_span.hh b/source/blender/blenlib/BLI_span.hh
index f4960df8ab9..fcc6d6f754b 100644
--- a/source/blender/blenlib/BLI_span.hh
+++ b/source/blender/blenlib/BLI_span.hh
@@ -417,6 +417,19 @@ template<typename T> class Span {
return Span<NewT>(reinterpret_cast<const NewT *>(data_), new_size);
}
+ friend bool operator==(const Span<T> a, const Span<T> b)
+ {
+ if (a.size() != b.size()) {
+ return false;
+ }
+ return std::equal(a.begin(), a.end(), b.begin());
+ }
+
+ friend bool operator!=(const Span<T> a, const Span<T> b)
+ {
+ return !(a == b);
+ }
+
/**
* A debug utility to print the content of the Span. Every element will be printed on a
* separate line using the given callback.