Documentation ¶
Overview ¶
Package orderedmap implements an ordered map, i.e. a map that also keeps track of the order in which keys were inserted.
All operations are constant-time.
Github repo: https://github.com/wk8/go-ordered-map TODO: create pull request on wk8 with YAML Marahaling and Unmarshaling
Index ¶
- type OrderedMap
- func (om *OrderedMap) Delete(key interface{}) (interface{}, bool)
- func (om *OrderedMap) Filter(f func(iKey interface{}, iValue interface{}) bool) []*Pair
- func (om *OrderedMap) Get(key interface{}) (interface{}, bool)
- func (om *OrderedMap) GetPair(key interface{}) *Pair
- func (om *OrderedMap) Len() int
- func (om *OrderedMap) Map(f func(iKey interface{}, iValue interface{}))
- func (m *OrderedMap) MarshalJSON() ([]byte, error)
- func (m *OrderedMap) MarshalYAML() (interface{}, error)
- func (om *OrderedMap) Newest() *Pair
- func (om *OrderedMap) Oldest() *Pair
- func (om *OrderedMap) Set(key interface{}, value interface{}) (interface{}, bool)
- func (m *OrderedMap) UnmarshalYAML(value *yaml.Node) error
- type Pair
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OrderedMap ¶
type OrderedMap struct {
// contains filtered or unexported fields
}
func (*OrderedMap) Delete ¶
func (om *OrderedMap) Delete(key interface{}) (interface{}, bool)
Delete removes the key-value pair, and returns what `Get` would have returned on that key prior to the call to `Delete`.
func (*OrderedMap) Filter ¶
func (om *OrderedMap) Filter(f func(iKey interface{}, iValue interface{}) bool) []*Pair
func (*OrderedMap) Get ¶
func (om *OrderedMap) Get(key interface{}) (interface{}, bool)
Get looks for the given key, and returns the value associated with it, or nil if not found. The boolean it returns says whether the key is present in the map.
func (*OrderedMap) GetPair ¶
func (om *OrderedMap) GetPair(key interface{}) *Pair
GetPair looks for the given key, and returns the pair associated with it, or nil if not found. The Pair struct can then be used to iterate over the ordered map from that point, either forward or backward.
func (*OrderedMap) Map ¶
func (om *OrderedMap) Map(f func(iKey interface{}, iValue interface{}))
func (*OrderedMap) MarshalJSON ¶
func (m *OrderedMap) MarshalJSON() ([]byte, error)
func (*OrderedMap) MarshalYAML ¶
func (m *OrderedMap) MarshalYAML() (interface{}, error)
func (*OrderedMap) Newest ¶
func (om *OrderedMap) Newest() *Pair
Newest returns a pointer to the newest pair. It's meant to be used to iterate on the ordered map's pairs from the newest to the oldest, e.g.: for pair := orderedMap.Oldest(); pair != nil; pair = pair.Next() { fmt.Printf("%v => %v\n", pair.Key, pair.Value) }
func (*OrderedMap) Oldest ¶
func (om *OrderedMap) Oldest() *Pair
Oldest returns a pointer to the oldest pair. It's meant to be used to iterate on the ordered map's pairs from the oldest to the newest, e.g.: for pair := orderedMap.Oldest(); pair != nil; pair = pair.Next() { fmt.Printf("%v => %v\n", pair.Key, pair.Value) }
func (*OrderedMap) Set ¶
func (om *OrderedMap) Set(key interface{}, value interface{}) (interface{}, bool)
Set sets the key-value pair, and returns what `Get` would have returned on that key prior to the call to `Set`.
func (*OrderedMap) UnmarshalYAML ¶
func (m *OrderedMap) UnmarshalYAML(value *yaml.Node) error