Documentation
¶
Overview ¶
Example ¶
package main
import (
"fmt"
"github.com/bsm/extsort"
)
func main() {
// Create sorter.
sorter := extsort.New(nil)
defer sorter.Close()
// Append data.
_ = sorter.Append([]byte("foo"))
_ = sorter.Append([]byte("bar"))
_ = sorter.Append([]byte("baz"))
_ = sorter.Append([]byte("dau"))
// Sort and iterate.
iter, err := sorter.Sort()
if err != nil {
panic(err)
}
defer iter.Close()
for iter.Next() {
fmt.Println(string(iter.Data()))
}
if err := iter.Err(); err != nil {
panic(err)
}
}
Output: bar baz dau foo
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Compression ¶
type Compression uint8
Compression codec.
const ( CompressionNone Compression = iota CompressionGzip )
Supported compression types.
type Iterator ¶
type Iterator struct {
// contains filtered or unexported fields
}
Iterator instances are used to iterate over sorted output.
type Options ¶
type Options struct {
// WorkDir specifies the working directory.
// By default os.TempDir() is used.
WorkDir string
// Less defines the compare function.
// Default: bytes.Compare() < 0
Less Less
// BufferSize limits the memory buffer used for sorting.
// Default: 64MiB (must be at least 64KiB)
BufferSize int
// Compression optionally uses compression for temporary output.
Compression Compression
}
Options contains sorting options
Click to show internal directories.
Click to hide internal directories.

