[Bf-blender-cvs] [840941215d4] master: Functions: allow multi-functions to override a hash and equals function

Jacques Lucke noreply at git.blender.org
Wed Jul 8 15:11:23 CEST 2020


Commit: 840941215d42bb48fdc4724ed4d7058d275df740
Author: Jacques Lucke
Date:   Wed Jul 8 15:02:47 2020 +0200
Branches: master
https://developer.blender.org/rB840941215d42bb48fdc4724ed4d7058d275df740

Functions: allow multi-functions to override a hash and equals function

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

M	source/blender/functions/FN_multi_function.hh

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

diff --git a/source/blender/functions/FN_multi_function.hh b/source/blender/functions/FN_multi_function.hh
index 452fd5472ce..c53959203cb 100644
--- a/source/blender/functions/FN_multi_function.hh
+++ b/source/blender/functions/FN_multi_function.hh
@@ -45,6 +45,8 @@
  * 3. Override the `call` function.
  */
 
+#include "BLI_hash.hh"
+
 #include "FN_multi_function_context.hh"
 #include "FN_multi_function_params.hh"
 
@@ -61,6 +63,16 @@ class MultiFunction {
 
   virtual void call(IndexMask mask, MFParams params, MFContext context) const = 0;
 
+  virtual uint32_t hash() const
+  {
+    return DefaultHash<const MultiFunction *>{}(this);
+  }
+
+  virtual bool equals(const MultiFunction &UNUSED(other)) const
+  {
+    return false;
+  }
+
   IndexRange param_indices() const
   {
     return signature_.param_types.index_range();



More information about the Bf-blender-cvs mailing list