что делает (шаблон) rebind <> делать?
пытаясь узнать больше о том, как на самом деле реализована стандартная библиотека, я проверяю все контейнеры в Visual Studio. Здесь я вижу некоторую любопытную структуру:
В каком-то базовом классеstd::list<>
Найдена следующая typedef
typedef typename _Alloc::template rebind<_Ty>::other _Alty;
Где «_Alloc» соответствует аргументу шаблона распределителя (и _Ty содержащемуся типу). У меня проблемы с поиском хорошего объяснения этого "ключевого слова". Лучшее, что я нашел на данный момент, это то, что он является частью интерфейса распределителя. Хотя дажеcppreference не очень хорошо, чтобы объяснить это.
Что делает этоtemplate rebind<>
делать? И почему это необходимо в этом месте?