package orderedmap import "container/list" type Element struct { Key, Value interface{} element *list.Element } func newElement(e *list.Element) *Element { if e == nil { return nil } element := e.Value.(*orderedMapElement) return &Element{ element: e, Key: element.key, Value: element.value, } } // Next returns the next element, or nil if it finished. func (e *Element) Next() *Element { return newElement(e.element.Next()) } // Prev returns the previous element, or nil if it finished. func (e *Element) Prev() *Element { return newElement(e.element.Prev()) }