package stringtab

import "internal/coverage/stringtab"

Index

Types

type Reader

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

Reader is a helper for reading a string table previously serialized by a Writer.Write call.

func NewReader

func NewReader(r *slicereader.Reader) *Reader

NewReader creates a stringtab.Reader to read the contents of a string table from 'r'.

func (*Reader) Entries

func (str *Reader) Entries() int

Entries returns the number of decoded entries in a string table.

func (*Reader) Get

func (str *Reader) Get(idx uint32) string

Get returns string 'idx' within the string table.

func (*Reader) Read

func (str *Reader) Read()

Read reads/decodes a string table using the reader provided.

type Writer

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

Writer implements a string table writing utility.

func (*Writer) Freeze

func (stw *Writer) Freeze()

Freeze sends a signal to the writer that no more additions are allowed, only lookups of existing strings (if a lookup triggers addition, a panic will result). Useful as a mechanism for "finalizing" a string table prior to writing it out.

func (*Writer) InitWriter

func (stw *Writer) InitWriter()

InitWriter initializes a stringtab.Writer.

func (*Writer) Lookup

func (stw *Writer) Lookup(s string) uint32

Lookup looks up string 's' in the writer's table, adding a new entry if need be, and returning an index into the table.

func (*Writer) Nentries

func (stw *Writer) Nentries() uint32

Nentries returns the number of strings interned so far.

func (*Writer) Size

func (stw *Writer) Size() uint32

Size computes the memory in bytes needed for the serialized version of a stringtab.Writer.

func (*Writer) Write

func (stw *Writer) Write(w io.Writer) error

Write writes the string table in serialized form to the specified io.Writer.