 Documentation
      ¶
      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.