Documentation ¶
Overview ¶
Package list provides list implementations. Currently, this includes a persistent, immutable linked list.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PersistentList ¶
type PersistentList interface { // Head returns the head of the list. The bool will be false if the list is // empty. Head() (interface{}, bool) // Tail returns the tail of the list. The bool will be false if the list is // empty. Tail() (PersistentList, bool) // IsEmpty indicates if the list is empty. IsEmpty() bool // Length returns the number of items in the list. Length() uint // Add will add the item to the list, returning the new list. Add(head interface{}) PersistentList // Insert will insert the item at the given position, returning the new // list or an error if the position is invalid. Insert(val interface{}, pos uint) (PersistentList, error) // Get returns the item at the given position or an error if the position // is invalid. Get(pos uint) (interface{}, bool) // Remove will remove the item at the given position, returning the new // list or an error if the position is invalid. Remove(pos uint) (PersistentList, error) // Find applies the predicate function to the list and returns the first // item which matches. Find(func(interface{}) bool) (interface{}, bool) // FindIndex applies the predicate function to the list and returns the // index of the first item which matches or -1 if there is no match. FindIndex(func(interface{}) bool) int // Map applies the function to each entry in the list and returns the // resulting slice. Map(func(interface{}) interface{}) []interface{} }
PersistentList is an immutable, persistent linked list.
var ( // Empty is an empty PersistentList. Empty PersistentList = &emptyList{} // ErrEmptyList is returned when an invalid operation is performed on an // empty list. ErrEmptyList = errors.New("Empty list") )
Click to show internal directories.
Click to hide internal directories.