CircularList.List
— TypeList is used to hold a pre-allocated vector of nodes.
CircularList.Node
— TypeDoubly linked list implementation
Base.delete!
— MethodDelete current node and return the previous node.
Warning: removed nodes are not reclaimed from memory for simplicity reasons
Base.eltype
— MethodReturn the element type of the list
Base.insert!
— MethodInsert a new node after the current node and return the new node.
Base.iterate
— FunctionIteration protocol implementation.
Base.length
— MethodReturns the length of the circular list
Base.show
— MethodShow list.
Base.show
— MethodShow node
Base.size
— MethodReturn the size of the list.
CircularList.allocate!
— MethodAllocates a new uninitialized node in the circular list
CircularList.backward!
— MethodShift the current pointer backward.
CircularList.circularlist
— MethodCreate a circular list with the specified data element.
CircularList.circularlist
— MethodCreate a circular list from any vector
CircularList.current
— MethodReturn the current node.
CircularList.forward!
— MethodShift the current pointer forward.
CircularList.head
— MethodReturn the head of the list (current node).
CircularList.move!
— MethodMove the current head node in the circular list the given number of steps. Move forward if positive, and backward if negative.
CircularList.next
— MethodReturn the ext node.
CircularList.previous
— MethodReturn the previous node.
CircularList.shift!
— MethodShift the current pointer forward or backward. The direction (:forward or :backward) can optional be provided to make it explicit.
CircularList.tail
— MethodReturn the tail of the list (last node)