bytesutil

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2024 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InternBytes

func InternBytes(b []byte) string

InternBytes interns b as a string

func InternString

func InternString(s string) string

InternString returns interned s.

This may be needed for reducing the amounts of allocated memory.

func Itoa

func Itoa(n int) string

Itoa returns string representation of n.

This function doesn't allocate memory on repeated calls for the same n.

func ResizeNoCopyMayOverallocate

func ResizeNoCopyMayOverallocate(b []byte, n int) []byte

ResizeNoCopyMayOverallocate resizes b to minimum n bytes and returns the resized buffer (which may be newly allocated).

If newly allocated buffer is returned then b contents isn't copied to it.

func ResizeNoCopyNoOverallocate

func ResizeNoCopyNoOverallocate(b []byte, n int) []byte

ResizeNoCopyNoOverallocate resizes b to exactly n bytes and returns the resized buffer (which may be newly allocated).

If newly allocated buffer is returned then b contents isn't copied to it.

func ResizeWithCopyMayOverallocate

func ResizeWithCopyMayOverallocate(b []byte, n int) []byte

ResizeWithCopyMayOverallocate resizes b to minimum n bytes and returns the resized buffer (which may be newly allocated).

If newly allocated buffer is returned then b contents is copied to it.

func ResizeWithCopyNoOverallocate

func ResizeWithCopyNoOverallocate(b []byte, n int) []byte

ResizeWithCopyNoOverallocate resizes b to exactly n bytes and returns the resized buffer (which may be newly allocated).

If newly allocated buffer is returned then b contents is copied to it.

func ToUnsafeBytes

func ToUnsafeBytes(s string) (b []byte)

ToUnsafeBytes converts s to a byte slice without memory allocations.

The returned byte slice is valid only until s is reachable and unmodified.

func ToUnsafeString

func ToUnsafeString(b []byte) string

ToUnsafeString converts b to string without memory allocations.

The returned string is valid only until b is reachable and unmodified.

Types

type ByteBuffer

type ByteBuffer struct {
	// B is the underlying byte slice.
	B []byte
}

ByteBuffer implements a simple byte buffer.

func (*ByteBuffer) MustClose

func (bb *ByteBuffer) MustClose()

MustClose closes bb for subsequent re-use.

func (*ByteBuffer) MustReadAt

func (bb *ByteBuffer) MustReadAt(p []byte, offset int64)

MustReadAt reads len(p) bytes starting from the given offset.

func (*ByteBuffer) Path

func (bb *ByteBuffer) Path() string

Path returns an unique id for bb.

func (*ByteBuffer) ReadFrom

func (bb *ByteBuffer) ReadFrom(r io.Reader) (int64, error)

ReadFrom reads all the data from r to bb until EOF.

func (*ByteBuffer) Reset

func (bb *ByteBuffer) Reset()

Reset resets bb.

func (*ByteBuffer) Write

func (bb *ByteBuffer) Write(p []byte) (int, error)

Write appends p to bb.

type ByteBufferPool

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

ByteBufferPool is a pool of ByteBuffers.

func (*ByteBufferPool) Get

func (bbp *ByteBufferPool) Get() *ByteBuffer

Get obtains a ByteBuffer from bbp.

func (*ByteBufferPool) Put

func (bbp *ByteBufferPool) Put(bb *ByteBuffer)

Put puts bb into bbp.

type FastStringMatcher

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

FastStringMatcher implements fast matcher for strings.

It caches string match results and returns them back on the next calls without calling the matchFunc, which may be expensive.

func NewFastStringMatcher

func NewFastStringMatcher(matchFunc func(s string) bool) *FastStringMatcher

NewFastStringMatcher creates new matcher, which applies matchFunc to strings passed to Match()

matchFunc must return the same result for the same input.

func (*FastStringMatcher) Match

func (fsm *FastStringMatcher) Match(s string) bool

Match applies matchFunc to s and returns the result.

type FastStringTransformer

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

FastStringTransformer implements fast transformer for strings.

It caches transformed strings and returns them back on the next calls without calling the transformFunc, which may be expensive.

func NewFastStringTransformer

func NewFastStringTransformer(transformFunc func(s string) string) *FastStringTransformer

NewFastStringTransformer creates new transformer, which applies transformFunc to strings passed to Transform()

transformFunc must return the same result for the same input.

func (*FastStringTransformer) Transform

func (fst *FastStringTransformer) Transform(s string) string

Transform applies transformFunc to s and returns the result.

Jump to

Keyboard shortcuts

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