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