Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Eisel <julian@blender.org>2020-11-07 02:15:09 +0300
committerJulian Eisel <julian@blender.org>2020-11-11 21:08:13 +0300
commit6b18e13c5b2fecd6485eaf44a58de5375f175ce9 (patch)
tree47903fbb52eec8eab03bdd23f57581b6c829325f /source/blender/editors/space_outliner/outliner_tree.c
parentc9cc03b688230d0b898467135e75e2cbac8a3226 (diff)
UI Code Quality: Use C++ data-structures for Outliner object hierarchy building
See https://developer.blender.org/D9499. * 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).
Diffstat (limited to 'source/blender/editors/space_outliner/outliner_tree.c')
0 files changed, 0 insertions, 0 deletions