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:
authorClément Foucault <foucault.clem@gmail.com>2020-02-11 16:57:41 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-02-11 16:57:41 +0300
commit30f65b54a78edc2a974ba93fefa86534fe2b7ff4 (patch)
tree030cf43b7c2cbd649a2e8758bf319a5b76a29aef /source/blender/blenlib/BLI_map.h
parent9052c6fafa87654c9a45ce0d5b9ecee073ec1a5b (diff)
parent3657bb514130ce2d28c407432d6f10202a68c92a (diff)
Merge branch 'master' into draw-colormanagementdraw-colormanagement
Diffstat (limited to 'source/blender/blenlib/BLI_map.h')
-rw-r--r--source/blender/blenlib/BLI_map.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_map.h b/source/blender/blenlib/BLI_map.h
index 1edf7653c71..73b731252b6 100644
--- a/source/blender/blenlib/BLI_map.h
+++ b/source/blender/blenlib/BLI_map.h
@@ -413,6 +413,19 @@ template<typename KeyT, typename ValueT, typename Allocator = GuardedAllocator>
return m_array.slots_set();
}
+ template<typename FuncT> void foreach_item(const FuncT &func) const
+ {
+ for (const Item &item : m_array) {
+ for (uint offset = 0; offset < 4; offset++) {
+ if (item.is_set(offset)) {
+ const KeyT &key = *item.key(offset);
+ const ValueT &value = *item.value(offset);
+ func(key, value);
+ }
+ }
+ }
+ }
+
void print_table() const
{
std::cout << "Hash Table:\n";