Добавить класс для heap структуры данных
blacktea opened this issue · 1 comments
blacktea commented
В стандарте есть свободные функции для работы с heap структурой данных: make_heap, push_heap, pop_heap.
Предлагаю добавить класс с необходимом набором методов для работы со структурой, как например для flat_map, priority_queue, etc.
Преимущества:
- Единообразие. Для flat_map, priority_queue имеются классы.
- Более безопасно. Класс инкапсулирует контейнер, сохраняет инварианты при вставке. Пользователь может добавить элемент через push_back вместо push_heap.
Примеры использования
В ClickHouse используются эти методы, хотя и не часто. https://github.com/search?q=repo%3AClickHouse%2FClickHouse+std%3A%3Apush_heap&type=code
Полезные ссылки: