diff options
author | Jacques Lucke <jacques@blender.org> | 2021-03-17 18:38:49 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-03-17 18:38:49 +0300 |
commit | e9eb08fea16ab033bec52e9b7355f6b52245e152 (patch) | |
tree | 883911deff8960307ec6a4c10a7cf83633ac9bbc /source/blender/blenlib/BLI_span.hh | |
parent | bf620020f135eab149b6327b79de8b378d99be7e (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.hh | 13 |
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. |