Closed Neargye closed 2 years ago
maxon 13 августа 2019, 20:08 А можно пример? Где именно здесь должен быть использован другой less<>? Также непонятно, что тут за K. Если K приводимо к key_type, то неясно зачем шаблон. Если неприводимо, то вообще неясно что этот метод должен делать.
Речь идёт про добавление гетерогенного erase в контейнеры, чтобы иметь возможность удалять из контейнера по ключу другого типа.
Например, чтобы из std::set<std::string> v;
можно было удалить элемент через v.erase("A long key to remove from container")
без создания std::string и динамической аллокации
Ребята из Интела написали предложение https://wg21.link/p2077 . Молодцы!
Ребята из Интела продолжают жечь https://wg21.link/p2363 - добавляют оставшиеся недостающие гетерогенные перегрузки
https://wg21.link/p2077 приняли в C++23
Перенос предложения: голоса +2, -2 Автор идеи: Yaroslav Shchukin
условный
std::set::contains
добавили , а проtemplate<class K> iterator erase(const K& x)
забылиtemplate<class K> iterator erase(const K& x)
добавить, чтобыstd::less<>
использовать