trying to learn more about how the standard library is actually implemented I'm inspecting all containers in visual studio.. Here I see some curious structure:
In some base class of a std::list<>
The following typedef is found
typedef typename _Alloc::template rebind<_Ty>::other _Alty;
Where "_Alloc" corresponds with the allocator template argument (and _Ty the contained type). I have trouble finding a good explanation of this "keyword". Best thing I've found so far is that it is part of the allocator interface. Though even cppreference isn't very good in explaining this.
What does this template rebind<>
do? And why is it necessary at that location?