zdb

package
v0.0.0-...-9d1b792 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Simple Database With Btree, Array, Map

Index

Constants

This section is empty.

Variables

View Source
var DB = make(map[string]interface{})

Functions

This section is empty.

Types

type Btree

type Btree[T bItem] struct {
	// contains filtered or unexported fields
}

func NewBtree

func NewBtree[T bItem](less func(a, b T) bool) *Btree[T]

func NewBtreeOptions

func NewBtreeOptions[T bItem](less func(a, b T) bool, opts Options) *Btree[T]

func (*Btree[T]) Ascend

func (tr *Btree[T]) Ascend(pivot T, iter func(item T) bool)

func (*Btree[T]) Copy

func (tr *Btree[T]) Copy() *Btree[T]

func (*Btree[T]) Delete

func (tr *Btree[T]) Delete(key T) (T, bool)

func (*Btree[T]) DeleteAt

func (tr *Btree[T]) DeleteAt(index int) (T, bool)

func (*Btree[T]) DeleteHint

func (tr *Btree[T]) DeleteHint(key T, hint *PathHint) (T, bool)

func (*Btree[T]) Descend

func (tr *Btree[T]) Descend(pivot T, iter func(item T) bool)

func (*Btree[T]) Get

func (tr *Btree[T]) Get(key T) (T, bool)

func (*Btree[T]) GetAt

func (tr *Btree[T]) GetAt(index int) (T, bool)

func (*Btree[T]) GetHint

func (tr *Btree[T]) GetHint(key T, hint *PathHint) (T, bool)

func (*Btree[T]) Height

func (tr *Btree[T]) Height() int

func (*Btree[T]) Items

func (tr *Btree[T]) Items() []T

Items returns all the items in order.

func (*Btree[T]) Iter

func (tr *Btree[T]) Iter() GenericIter[T]

func (*Btree[T]) Len

func (tr *Btree[T]) Len() int

func (*Btree[T]) Less

func (tr *Btree[T]) Less(a, b T) bool

func (*Btree[T]) Load

func (tr *Btree[T]) Load(item T) (T, bool)

func (*Btree[T]) Max

func (tr *Btree[T]) Max() (T, bool)

func (*Btree[T]) Min

func (tr *Btree[T]) Min() (T, bool)

func (*Btree[T]) PopMax

func (tr *Btree[T]) PopMax() (T, bool)

func (*Btree[T]) PopMin

func (tr *Btree[T]) PopMin() (T, bool)

func (*Btree[T]) Reverse

func (tr *Btree[T]) Reverse(iter func(item T) bool)

func (*Btree[T]) Scan

func (tr *Btree[T]) Scan(iter func(item T) bool)

func (*Btree[T]) Set

func (tr *Btree[T]) Set(item T) (T, bool)

func (*Btree[T]) SetHint

func (tr *Btree[T]) SetHint(item T, hint *PathHint) (prev T, replaced bool)

func (*Btree[T]) Walk

func (tr *Btree[T]) Walk(iter func(item []T) bool)

type GenericIter

type GenericIter[T bItem] struct {
	// contains filtered or unexported fields
}

Iter represents an iterator

func (*GenericIter[T]) First

func (iter *GenericIter[T]) First() bool

func (*GenericIter[T]) Item

func (iter *GenericIter[T]) Item() T

Item returns the current iterator item.

func (*GenericIter[T]) Last

func (iter *GenericIter[T]) Last() bool

func (*GenericIter[T]) Next

func (iter *GenericIter[T]) Next() bool

func (*GenericIter[T]) Prev

func (iter *GenericIter[T]) Prev() bool

func (*GenericIter[T]) Release

func (iter *GenericIter[T]) Release()

Release the iterator.

func (*GenericIter[T]) Seek

func (iter *GenericIter[T]) Seek(key T) bool

type Item

type Item interface {
	IID() int
	ToString() string
}

type Options

type Options struct {
	NoLocks bool
}

type PathHint

type PathHint struct {
	// contains filtered or unexported fields
}

type Table

type Table[T Item] struct {
	Tree *Btree[T]
	Data *zmap.ZMap[T]
	// contains filtered or unexported fields
}

func NewTable

func NewTable[T Item](dbname string, less func(a, b T) bool) *Table[T]

func (*Table[T]) Get

func (tr *Table[T]) Get(index int) (T, bool)

func (*Table[T]) GetAtByIndex

func (tr *Table[T]) GetAtByIndex(index int) (T, bool)

func (*Table[T]) GetByIndex

func (tr *Table[T]) GetByIndex(item T) (T, bool)

func (*Table[T]) Set

func (tr *Table[T]) Set(index int, item T) (T, bool)

func (*Table[T]) ZGet

func (tr *Table[T]) ZGet(index int) T

Fast get functions start with Z prefix

func (*Table[T]) ZGetAtByIndex

func (tr *Table[T]) ZGetAtByIndex(index int) T

func (*Table[T]) ZGetByIndex

func (tr *Table[T]) ZGetByIndex(item T) T

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL