Documentation

Overview

    Package buffer provides a thin wrapper around a byte slice. Unlike the standard library's bytes.Buffer, it supports a portion of the strconv package's zero-allocation formatters.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type Buffer

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

      Buffer is a thin wrapper around a byte slice. It's intended to be pooled, so the only way to construct one is via a Pool.

      func (*Buffer) AppendBool

      func (b *Buffer) AppendBool(v bool)

        AppendBool appends a bool to the underlying buffer.

        func (*Buffer) AppendByte

        func (b *Buffer) AppendByte(v byte)

          AppendByte writes a single byte to the Buffer.

          func (*Buffer) AppendFloat

          func (b *Buffer) AppendFloat(f float64, bitSize int)

            AppendFloat appends a float to the underlying buffer. It doesn't quote NaN or +/- Inf.

            func (*Buffer) AppendInt

            func (b *Buffer) AppendInt(i int64)

              AppendInt appends an integer to the underlying buffer (assuming base 10).

              func (*Buffer) AppendString

              func (b *Buffer) AppendString(s string)

                AppendString writes a string to the Buffer.

                func (*Buffer) AppendTime

                func (b *Buffer) AppendTime(t time.Time, layout string)

                  AppendTime appends the time formatted using the specified layout.

                  func (*Buffer) AppendUint

                  func (b *Buffer) AppendUint(i uint64)

                    AppendUint appends an unsigned integer to the underlying buffer (assuming base 10).

                    func (*Buffer) Bytes

                    func (b *Buffer) Bytes() []byte

                      Bytes returns a mutable reference to the underlying byte slice.

                      func (*Buffer) Cap

                      func (b *Buffer) Cap() int

                        Cap returns the capacity of the underlying byte slice.

                        func (*Buffer) Free

                        func (b *Buffer) Free()

                          Free returns the Buffer to its Pool.

                          Callers must not retain references to the Buffer after calling Free.

                          func (*Buffer) Len

                          func (b *Buffer) Len() int

                            Len returns the length of the underlying byte slice.

                            func (*Buffer) Reset

                            func (b *Buffer) Reset()

                              Reset resets the underlying byte slice. Subsequent writes re-use the slice's backing array.

                              func (*Buffer) String

                              func (b *Buffer) String() string

                                String returns a string copy of the underlying byte slice.

                                func (*Buffer) TrimNewline

                                func (b *Buffer) TrimNewline()

                                  TrimNewline trims any final "\n" byte from the end of the buffer.

                                  func (*Buffer) Write

                                  func (b *Buffer) Write(bs []byte) (int, error)

                                    Write implements io.Writer.

                                    type Pool

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

                                      A Pool is a type-safe wrapper around a sync.Pool.

                                      func NewPool

                                      func NewPool() Pool

                                        NewPool constructs a new Pool.

                                        func (Pool) Get

                                        func (p Pool) Get() *Buffer

                                          Get retrieves a Buffer from the pool, creating one if necessary.

                                          Source Files