Welcome to the wonderful world of dispensers. I hope you enjoy your stay, although this is unlikely.
Rule number 1: It does not work out std::allocator. If you want to use your own distribution scheme, write your own distributor. If you want to override some functions in std :: allocator, just create an instance std::allocatorand call its functions in un-overridden functions.
, . ++ 03 , v- . . std::allocator .
№2: std::list<T> T. : std::list - . , T . , , node , - , .
rebind, typedef other, . std::list :
MyAlloc::rebind<_ListInternalNodeType>::other theAllocatorIWillActuallyUse();
. , MyAlloc::rebind<_ListInternalNodeType>::other std::allocator<_ListInternalNodeType>. , std::list .