[Bf-blender-cvs] [332de3a2da0] master: Cleanup: Add static assert for tree-view getter template

Julian Eisel noreply at git.blender.org
Wed Oct 27 14:57:48 CEST 2021


Commit: 332de3a2da029ad8960fa87b812c8f6d73f8dc9e
Author: Julian Eisel
Date:   Wed Oct 27 14:55:39 2021 +0200
Branches: master
https://developer.blender.org/rB332de3a2da029ad8960fa87b812c8f6d73f8dc9e

Cleanup: Add static assert for tree-view getter template

These kind of static asserts for the base type of a template parameter
are useful, and can avoid wrong API usage.

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

M	source/blender/editors/include/UI_tree_view.hh

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

diff --git a/source/blender/editors/include/UI_tree_view.hh b/source/blender/editors/include/UI_tree_view.hh
index 0990d844d48..0d18eedeac9 100644
--- a/source/blender/editors/include/UI_tree_view.hh
+++ b/source/blender/editors/include/UI_tree_view.hh
@@ -455,6 +455,8 @@ inline ItemT &TreeViewItemContainer::add_tree_item(Args &&...args)
 
 template<class TreeViewType> TreeViewType &AbstractTreeViewItemDropController::tree_view() const
 {
+  static_assert(std::is_base_of<AbstractTreeView, TreeViewType>::value,
+                "Type must derive from and implement the AbstractTreeView interface");
   return static_cast<TreeViewType &>(tree_view_);
 }



More information about the Bf-blender-cvs mailing list