boost::intrusive::cache_last
// In header: <boost/intrusive/options.hpp> template<bool Enabled> struct cache_last { };
If true, slist also stores a pointer to the last element of the singly linked list. This allows O(1) swap and splice_after(iterator, slist &) for circular slists and makes possible new functions like push_back(reference) and back().