Reader is a helper for reading a string table previously serialized by a Writer.Write call.
type Reader struct {
// contains filtered or unexported fields
}
func NewReader(r *slicereader.Reader) *Reader
NewReader creates a stringtab.Reader to read the contents of a string table from 'r'.
func (str *Reader) Entries() int
Entries returns the number of decoded entries in a string table.
func (str *Reader) Get(idx uint32) string
Get returns string 'idx' within the string table.
func (str *Reader) Read()
Read reads/decodes a string table using the reader provided.
Writer implements a string table writing utility.
type Writer struct {
// contains filtered or unexported fields
}
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 (stw *Writer) InitWriter()
InitWriter initializes a stringtab.Writer.
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 (stw *Writer) Nentries() uint32
Nentries returns the number of strings interned so far.
func (stw *Writer) Size() uint32
Size computes the memory in bytes needed for the serialized version of a stringtab.Writer.
func (stw *Writer) Write(w io.Writer) error
Write writes the string table in serialized form to the specified io.Writer.