#pragma once namespace JTL // Jack's template library { template <typename T> ListNodePosi(T) ListNode<T>::insert_as_pred(T const& e) { ListNodePosi(T) pos = new ListNode(e, pred, this); pred->succ = pos; pred = pos; return pos; } template <typename T> ListNodePosi(T) ListNode<T>::insert_as_succ(T const& e) { ListNodePosi(T) pos = new ListNode<T>(e, this, succ); succ->pred = pos; succ = pos; return pos; } };