core: replace `RedBlackMap` and `RedBlackSet` implementation with standard containers
- Dominant language
- C++
- Stars
- 406
- Forks
- 134
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 24
Description
**Motivation**
Currently Indigo uses own-written implementation of ordered associative containers and ordered sets using red-black trees. The implementation could be found in `core/indigo-core/common/base_cpp/red_black.h`.
In many cases order of elements is not important and `int` is a key type, so it could be easily replaced with hash maps and also lead to performance improvement. Same for unordered sets.
**ToDo**
1. Find all places in code that use `RedBlackMap`, check if K is trivially hashable and order of elements is required, and replace it with `std::map` or `std::unordered_map` depending on the situation.
2. Find all places in code that use `RedBlackSet`, check if K is trivially hashable and order of elements is required, and replace it with `std::set` or `std::unordered_set` depending on the situation.
3. Check if `core/indigo-core/common/base_cpp/red_black.h` and eliminate it if it's not required anymore.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.