Blender Git Commit Log

Git Commits -> Revision 86fe1ec

Revision 86fe1ec by Julian Eisel (outliner-cpp-refactor)
November 6, 2020, 23:15 (GMT)
UI Code Quality: Use C++ data-structures for Outliner object hierarchy building

* Use `blender::Map` over `GHash`
* Use `blender::Vector` over allocated `ListBase *`

Benefits:
* Significantly reduces the amount of heap allocations in large trees (e.g.
from O(n) to O(log(n)), where n is number of objects).
* Higher type safety (no `void *`, virtually no casts).
* More optimized (e.g. small buffer optimization).
* More practicable, const-correct APIs with well-defined exception behavior.

Code generally becomes more readable (less lines of code, less boilerplate,
more logic-focused APIs because of greater language flexibility).

Commit Details:

Full Hash: 86fe1ec96833b6e386b2fbbc663d61b3447c39cc
Parent Commit: 6f87489
Lines Changed: +22, -42

1 Modified Path:

/source/blender/editors/space_outliner/tree/tree_view_view_layer.cc (+22, -42) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021