From 05365d1376760d70751243ae6360e2fd61f5a213 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Wed, 8 Jul 2020 17:04:09 +0200 Subject: Functions: support hashing MFDataType and CPPType --- source/blender/functions/FN_cpp_type.hh | 6 ++++++ source/blender/functions/FN_multi_function_data_type.hh | 5 +++++ 2 files changed, 11 insertions(+) (limited to 'source/blender/functions') diff --git a/source/blender/functions/FN_cpp_type.hh b/source/blender/functions/FN_cpp_type.hh index 686ecffb445..890530805d8 100644 --- a/source/blender/functions/FN_cpp_type.hh +++ b/source/blender/functions/FN_cpp_type.hh @@ -66,6 +66,7 @@ * pointers to virtual member functions. */ +#include "BLI_hash.hh" #include "BLI_index_mask.hh" #include "BLI_math_base.h" #include "BLI_string_ref.hh" @@ -481,6 +482,11 @@ class CPPType { return default_value_; } + uint32_t hash() const + { + return DefaultHash{}(this); + } + /** * Two types only compare equal when their pointer is equal. No two instances of CPPType for the * same C++ type should be created. diff --git a/source/blender/functions/FN_multi_function_data_type.hh b/source/blender/functions/FN_multi_function_data_type.hh index 78f0d96fb80..57aea046006 100644 --- a/source/blender/functions/FN_multi_function_data_type.hh +++ b/source/blender/functions/FN_multi_function_data_type.hh @@ -108,6 +108,11 @@ class MFDataType { BLI_assert(false); return ""; } + + uint hash() const + { + return DefaultHash{}(*type_) + (uint32_t)category_; + } }; inline bool operator==(const MFDataType &a, const MFDataType &b) -- cgit v1.2.3