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
AgeCommit message (Collapse)Author
2021-05-13BLI: support looking up a key stored in Map or VectorSetJacques Lucke
Sometimes it is useful to find the key that compares equal to a known key. Typically that happens when the key itself has additional data attached that is not part of its hash. Note that the returned key reference/pointer is const, because the caller must not change the key in a way that changes its hash or how it compares to other keys.
2021-04-30BLI: support removing Map elements during iterationJacques Lucke
While it was technically safe to call Map.remove while iterating over a map, it wasn't really designed to work. Also it wasn't very efficient, because to remove the element, the map would have to search it again. Now it is possible to remove an element given an iterator into the map. It is safe to remove the element while iterating over the map. Obviously, the removed element must not be accessed anymore after it has been removed.
2021-04-17BLI: support multiple arguments for value in *_as methods of MapJacques Lucke
This allows us to build more complex values in-place in the map. Before those values had to be build separately and then moved into the map. Existing calls to the Map API remain unchanged.
2021-03-20BLI: improve support for generic algorithms with c++ containersJacques Lucke
Some generic algorithms from the standard library like `std::any_of` did not work with all container and iterator types. To improve the situation, this patch adds various type members to containers and iterators. Custom iterators for Set, Map and IndexRange now have an iterator category, which soe algorithms require. IndexRange could become a random access iterator, but adding all the missing methods can be done when it is necessary.
2021-03-17BLI: provide a default hash for enumsJacques Lucke
This avoids some boilerplate code that was necessary when using enums as keys in maps or sets.
2020-11-09Cleanup: fix wrong merge, remove extra unique_ptr.Ankit Meel
Mistakes added in 3cb4c513080ebeead7c5629a7f0503fae9513803 and bec1765340c3c13f002882ce147762e4c38ed2c6 Reviewed By: sergey Differential Revision: https://developer.blender.org/D9514
2020-11-06Cleanup: Clang-Tidy, modernize-make-uniqueSergey Sharybin
2020-10-29BLI: use forwarding reference in MapJacques Lucke
The is necessary when Map.add_or_modify is called with callbacks that return a reference.
2020-09-03Fix clang tidy errors in testsJacques Lucke
2020-08-24BLI: improve exception safety of Set and MapJacques Lucke
For more information see rB2aff45146f1464ba8899368ad004522cb6a1a98c.
2020-07-23BLI: move some tests into blenlib/testsJacques Lucke
Reviewers: sybren Differential Revision: https://developer.blender.org/D8315