template<class T, class LargestT = T, class ValueT = T,
class NodeIterT = ilist_iterator<alist_node<T, LargestT> > >
class alist_iterator : public bidirectional_iterator<ValueT, ptrdiff_t> {
+public:
typedef bidirectional_iterator<ValueT, ptrdiff_t> super;
typedef alist_node<T, LargestT> NodeTy;
+private:
/// NodeIter - The underlying iplist iterator that is being wrapped.
NodeIterT NodeIter;
///
template<class T, class LargestT = T>
class alist_traits {
+public:
typedef alist_iterator<T, LargestT> iterator;
-public:
void addNodeToList(T *) {}
void removeNodeFromList(T *) {}
void transferNodesFromList(alist_traits &, iterator, iterator) {}
///
template<class T, class LargestT = T>
class alist {
- typedef alist_node<T, LargestT> NodeTy;
-
public:
+ typedef alist_node<T, LargestT> NodeTy;
typedef typename ilist<NodeTy>::size_type size_type;
private: