Blender Git Commit Log
Git Commits -> Revision d8678e0
Revision d8678e0 by Jacques Lucke (master) June 9, 2020, 08:15 (GMT) |
BLI: generally improve C++ data structures The main focus here was to improve the docs significantly. Furthermore, I reimplemented `Set`, `Map` and `VectorSet`. They are now (usually) faster, simpler and more customizable. I also rewrote `Stack` to make it more efficient by avoiding unnecessary copies. Thanks to everyone who helped with constructive feedback. Approved by brecht and sybren. Differential Revision: https://developer.blender.org/D7931 |
Commit Details:
Full Hash: d8678e02ecec9375bec1dcf1388c6fc8b4ce3ad2
Parent Commit: 50258d5
Lines Changed: +5830, -2833
6 Added Paths:
/source/blender/blenlib/BLI_hash_tables.hh (+350, -0) (View)
/source/blender/blenlib/BLI_map_slots.hh (+361, -0) (View)
/source/blender/blenlib/BLI_probing_strategies.hh (+250, -0) (View)
/source/blender/blenlib/BLI_set_slots.hh (+415, -0) (View)
/source/blender/blenlib/BLI_vector_set_slots.hh (+171, -0) (View)
/tests/gtests/blenlib/BLI_math_bits_test.cc (+48, -0) (View)
/source/blender/blenlib/BLI_map_slots.hh (+361, -0) (View)
/source/blender/blenlib/BLI_probing_strategies.hh (+250, -0) (View)
/source/blender/blenlib/BLI_set_slots.hh (+415, -0) (View)
/source/blender/blenlib/BLI_vector_set_slots.hh (+171, -0) (View)
/tests/gtests/blenlib/BLI_math_bits_test.cc (+48, -0) (View)
4 Deleted Paths:
/source/blender/blenlib/BLI_open_addressing.hh (+0, -316)
/source/blender/blenlib/BLI_string_map.hh (+0, -540)
/tests/gtests/blenlib/BLI_string_map_test.cc (+0, -275)
/tests/gtests/blenlib/BLI_type_construct_mock.hh (+0, -63)
/source/blender/blenlib/BLI_string_map.hh (+0, -540)
/tests/gtests/blenlib/BLI_string_map_test.cc (+0, -275)
/tests/gtests/blenlib/BLI_type_construct_mock.hh (+0, -63)
37 Modified Paths:
/.clang-format (+4, -0) (Diff)
/source/blender/blenlib/BLI_allocator.hh (+22, -23) (Diff)
/source/blender/blenlib/BLI_array.hh (+132, -26) (Diff)
/source/blender/blenlib/BLI_array_ref.hh (+157, -82) (Diff)
/source/blender/blenlib/BLI_dot_export.hh (+1, -2) (Diff)
/source/blender/blenlib/BLI_hash.hh (+93, -14) (Diff)
/source/blender/blenlib/BLI_index_range.hh (+34, -4) (Diff)
/source/blender/blenlib/BLI_linear_allocator.hh (+3, -3) (Diff)
/source/blender/blenlib/BLI_listbase_wrapper.hh (+4, -2) (Diff)
/source/blender/blenlib/BLI_map.hh (+847, -442) (Diff)
/source/blender/blenlib/BLI_math_bits.h (+1, -0) (Diff)
/source/blender/blenlib/BLI_memory_utils.hh (+160, -29) (Diff)
/source/blender/blenlib/BLI_optional.hh (+0, -10) (Diff)
/source/blender/blenlib/BLI_set.hh (+574, -298) (Diff)
/source/blender/blenlib/BLI_stack.hh (+292, -53) (Diff)
/source/blender/blenlib/BLI_string_ref.hh (+104, -25) (Diff)
/source/blender/blenlib/BLI_utility_mixins.hh (+6, -0) (Diff)
/source/blender/blenlib/BLI_vector.hh (+297, -116) (Diff)
/source/blender/blenlib/BLI_vector_set.hh (+542, -272) (Diff)
/source/blender/blenlib/CMakeLists.txt (+5, -2) (Diff)
/source/blender/blenlib/intern/BLI_index_range.cc (+1, -1) (Diff)
/source/blender/blenlib/intern/math_bits_inline.c (+5, -6) (Diff)
/source/blender/depsgraph/intern/node/deg_node_id.cc (+7, -0) (Diff)
/source/blender/depsgraph/intern/node/deg_node_id.h (+1, -13) (Diff)
/source/blender/functions/FN_cpp_type.hh (+17, -10) (Diff)
/tests/gtests/blenlib/BLI_array_ref_test.cc (+4, -36) (Diff)
/tests/gtests/blenlib/BLI_array_test.cc (+25, -2) (Diff)
/tests/gtests/blenlib/BLI_index_range_test.cc (+8, -9) (Diff)
/tests/gtests/blenlib/BLI_linear_allocator_test.cc (+3, -2) (Diff)
/tests/gtests/blenlib/BLI_map_test.cc (+224, -37) (Diff)
/tests/gtests/blenlib/BLI_optional_test.cc (+1, -14) (Diff)
/tests/gtests/blenlib/BLI_set_test.cc (+348, -39) (Diff)
/tests/gtests/blenlib/BLI_stack_cxx_test.cc (+118, -8) (Diff)
/tests/gtests/blenlib/BLI_string_ref_test.cc (+1, -0) (Diff)
/tests/gtests/blenlib/BLI_vector_set_test.cc (+60, -36) (Diff)
/tests/gtests/blenlib/BLI_vector_test.cc (+133, -22) (Diff)
/tests/gtests/blenlib/CMakeLists.txt (+1, -1) (Diff)
/source/blender/blenlib/BLI_allocator.hh (+22, -23) (Diff)
/source/blender/blenlib/BLI_array.hh (+132, -26) (Diff)
/source/blender/blenlib/BLI_array_ref.hh (+157, -82) (Diff)
/source/blender/blenlib/BLI_dot_export.hh (+1, -2) (Diff)
/source/blender/blenlib/BLI_hash.hh (+93, -14) (Diff)
/source/blender/blenlib/BLI_index_range.hh (+34, -4) (Diff)
/source/blender/blenlib/BLI_linear_allocator.hh (+3, -3) (Diff)
/source/blender/blenlib/BLI_listbase_wrapper.hh (+4, -2) (Diff)
/source/blender/blenlib/BLI_map.hh (+847, -442) (Diff)
/source/blender/blenlib/BLI_math_bits.h (+1, -0) (Diff)
/source/blender/blenlib/BLI_memory_utils.hh (+160, -29) (Diff)
/source/blender/blenlib/BLI_optional.hh (+0, -10) (Diff)
/source/blender/blenlib/BLI_set.hh (+574, -298) (Diff)
/source/blender/blenlib/BLI_stack.hh (+292, -53) (Diff)
/source/blender/blenlib/BLI_string_ref.hh (+104, -25) (Diff)
/source/blender/blenlib/BLI_utility_mixins.hh (+6, -0) (Diff)
/source/blender/blenlib/BLI_vector.hh (+297, -116) (Diff)
/source/blender/blenlib/BLI_vector_set.hh (+542, -272) (Diff)
/source/blender/blenlib/CMakeLists.txt (+5, -2) (Diff)
/source/blender/blenlib/intern/BLI_index_range.cc (+1, -1) (Diff)
/source/blender/blenlib/intern/math_bits_inline.c (+5, -6) (Diff)
/source/blender/depsgraph/intern/node/deg_node_id.cc (+7, -0) (Diff)
/source/blender/depsgraph/intern/node/deg_node_id.h (+1, -13) (Diff)
/source/blender/functions/FN_cpp_type.hh (+17, -10) (Diff)
/tests/gtests/blenlib/BLI_array_ref_test.cc (+4, -36) (Diff)
/tests/gtests/blenlib/BLI_array_test.cc (+25, -2) (Diff)
/tests/gtests/blenlib/BLI_index_range_test.cc (+8, -9) (Diff)
/tests/gtests/blenlib/BLI_linear_allocator_test.cc (+3, -2) (Diff)
/tests/gtests/blenlib/BLI_map_test.cc (+224, -37) (Diff)
/tests/gtests/blenlib/BLI_optional_test.cc (+1, -14) (Diff)
/tests/gtests/blenlib/BLI_set_test.cc (+348, -39) (Diff)
/tests/gtests/blenlib/BLI_stack_cxx_test.cc (+118, -8) (Diff)
/tests/gtests/blenlib/BLI_string_ref_test.cc (+1, -0) (Diff)
/tests/gtests/blenlib/BLI_vector_set_test.cc (+60, -36) (Diff)
/tests/gtests/blenlib/BLI_vector_test.cc (+133, -22) (Diff)
/tests/gtests/blenlib/CMakeLists.txt (+1, -1) (Diff)