_Slist_base
struct _Slist_base
_Slist_base(const allocator_type& __a) : _Base(__a) { _M_head._M_next = 0; }
~_Slist_base() { _M_erase_after(&_M_head, 0); }
_Slist_base(const allocator_type&) { _M_head._M_next = 0; }
~_Slist_base() { _M_erase_after(&_M_head, 0); }
_Slist_base<_Tp,_Alloc>::_M_erase_after(_Slist_node_base* __before_first,
class slist : private _Slist_base<_Tp,_Alloc>
typedef _Slist_base<_Tp,_Alloc> _Base;