Versions in this module Expand all Collapse all v0 v0.0.3 Apr 9, 2019 Changes in this version + const DefaultMaxChildrenPerSparseNode + const DefaultMaxPrefixPerNode + var ErrNilPrefix = xrr.Xrror("Nil prefix passed into a method call") + var FunctionNotImplemented = xrr.Xrror("%s function not implemented for the %s store.").Out + var JsonFStore = &StoreMaker + var JsonStore = &StoreMaker + var MalformedRetrievalStringError = xrr.Xrror("%s is malformed: %s").Out + var NoItemError = xrr.Xrror("No item with the prefix %s available.").Out + var ReaderRetrievalError = xrr.Xrror("unable to find readcloser: %s").Out + var SkipSubtree = xrr.Xrror("Skip this subtree") + var StdoutStore = &StoreMaker + var UnavailableStoreError = xrr.Xrror("No store with key: %s").Out + var YamlStore = &StoreMaker + func Exist(path string) + func Open(path string) (*os.File, error) + func SetStore(fs ...*StoreMaker) + type BoolItem interface + SetBool func(bool) + ToBool func() bool + func NewBoolItem(key string, v bool) BoolItem + type Cloner interface + Clone func() Item + type Float64Item interface + SetFloat func(float64) + ToFloat64 func() float64 + func NewFloat64Item(key string, v float64) Float64Item + type InFunc func(string, int64, io.ReadCloser) (*Vector, error) + type Int64Item interface + SetInt64 func(int) + ToInt64 func() int64 + func NewInt64Item(key string, v int64) Int64Item + type IntItem interface + SetInt func(int) + ToInt func() int + func NewIntItem(key string, v int) IntItem + type Item interface + func KeyedItem(k string) Item + func NewVectorItem(key string, v *Vector) Item + type JsonTransmitter interface + type Keyer interface + Key func() string + KeyUndotted func() string + NewKey func(string) + type Mtem struct + Key string + Value interface{} + type Option func(*Trie) + func MaxChildrenPerSparseNode(value int) Option + func MaxPrefixPerNode(value int) Option + func WithPrefix(p string) Option + type OutFunc func(*Vector, io.WriteCloser) ([]string, error) + type Prefix []byte + type ReadFunc func(*Retriever) (io.ReadCloser, int64, error) + type Retriever struct + func NewRetriever(with ...string) *Retriever + func (r *Retriever) Retrieval() []string + func (r *Retriever) RetrievalString() string + func (r *Retriever) SetRetrieval(s []string) + type Store interface + In func() (*Vector, error) + Out func() (*Vector, error) + Read func([]byte) (int, error) + Swap func(*Vector) + Write func([]byte) (int, error) + func GetStore(k string, r []string) (Store, error) + func NewStore(rfn ReadFunc, ifn InFunc, ofn OutFunc, wfn WriteFunc, rs ...string) Store + type StoreFn func([]string) Store + func JsonStorer(jm jsonMarshaler) StoreFn + func OutStore(out *os.File) StoreFn + type StoreMaker struct + Fn StoreFn + Key string + type Stores map[string]*StoreMaker + var AvailableStores Stores + func (s Stores) Get(k string, r []string) (Store, error) + func (s Stores) Set(fs ...*StoreMaker) + type StringItem interface + SetString func(string) + ToString func() string + func NewStringItem(key, v string) StringItem + type StringsItem interface + SetStrings func(...string) + ToStrings func() []string + func NewStringsItem(key string, v ...string) StringsItem + type Transmitter interface + type Trie struct + func NewTrie(options ...Option) *Trie + func (t *Trie) Delete(p Prefix) bool + func (t *Trie) DeleteSubtree(p Prefix) bool + func (t *Trie) Item() Item + func (t *Trie) Match(p Prefix) bool + func (t *Trie) MatchSubtree(p Prefix) bool + func (t *Trie) Tagged() string + func (t *Trie) Visit(v VisitorFunc) error + func (t *Trie) VisitPrefixes(p Prefix, v VisitorFunc) error + func (t *Trie) VisitSubtree(p Prefix, v VisitorFunc) error + type Uint64Item interface + SetUint64 func(uint64) + ToUint64 func() uint64 + func NewUint64Item(key string, v uint64) Uint64Item + type UintItem interface + SetUint func(uint) + ToUint func() uint + func NewUintItem(key string, v uint) UintItem + type Valuer interface + Provide func(interface{}) + Provided func() interface{} + Value func() []byte + type Vector struct + func New(tag string, o ...Option) *Vector + func (v *Vector) Blacklist(keys ...string) + func (v *Vector) Clear() + func (v *Vector) Clone(except ...string) *Vector + func (v *Vector) CloneAs(tag string, except ...string) *Vector + func (v *Vector) Get(k string) Item + func (v *Vector) Keys() []string + func (v *Vector) List(except ...string) []Item + func (v *Vector) MarshalJSON() ([]byte, error) + func (v *Vector) MarshalYAML() (interface{}, error) + func (v *Vector) Match(k string) []Item + func (v *Vector) Merge(vs ...*Vector) + func (v *Vector) Reset() + func (v *Vector) Retag(t string) + func (v *Vector) Set(i ...Item) + func (v *Vector) SetBool(k string, vi bool) + func (v *Vector) SetFloat64(k string, vi float64) + func (v *Vector) SetInt(k string, vi int) + func (v *Vector) SetInt64(k string, vi int64) + func (v *Vector) SetString(k, vi string) + func (v *Vector) SetStrings(k string, vi ...string) + func (v *Vector) SetUint(k string, vi uint) + func (v *Vector) SetUint64(k string, vi uint64) + func (v *Vector) SetVector(k string, vi *Vector) + func (v *Vector) Tag() string + func (v *Vector) TemplateData() map[string]interface{} + func (v *Vector) ToBool(k string) bool + func (v *Vector) ToFloat64(k string) float64 + func (v *Vector) ToInt(k string) int + func (v *Vector) ToInt64(k string) int64 + func (v *Vector) ToString(k string) string + func (v *Vector) ToStrings(k string) []string + func (v *Vector) ToUint(k string) uint + func (v *Vector) ToUint64(k string) uint64 + func (v *Vector) ToVector(k string) *Vector + func (v *Vector) UnmarshalJSON(b []byte) error + func (v *Vector) UnmarshalYAML(u func(interface{}) error) error + type VectorItem interface + SetVector func(*Vector) + ToVector func() *Vector + type VisitorFunc func(Prefix, Item) error + type WriteFunc func(*Vector) (io.WriteCloser, error) + type YamlTransmitter interface