[Bf-blender-cvs] [05365d13767] master: Functions: support hashing MFDataType and CPPType

Jacques Lucke noreply at git.blender.org
Wed Jul 8 17:08:47 CEST 2020


Commit: 05365d1376760d70751243ae6360e2fd61f5a213
Author: Jacques Lucke
Date:   Wed Jul 8 17:04:09 2020 +0200
Branches: master
https://developer.blender.org/rB05365d1376760d70751243ae6360e2fd61f5a213

Functions: support hashing MFDataType and CPPType

===================================================================

M	source/blender/functions/FN_cpp_type.hh
M	source/blender/functions/FN_multi_function_data_type.hh

===================================================================

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<const CPPType *>{}(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<CPPType>{}(*type_) + (uint32_t)category_;
+  }
 };
 
 inline bool operator==(const MFDataType &a, const MFDataType &b)



More information about the Bf-blender-cvs mailing list