{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:golang/github.com/tdewolff/buffer","name":"github.com/tdewolff/buffer","description":"Package buffer contains buffer and wrapper types for byte slices. It is useful for writing lexers or other high-performance byte slice handling.\n\nThe `Reader` and `Writer` types implement the `io.Reader` and `io.Writer` respectively and provide a thinner and faster interface than `bytes.Buffer`.\nThe `Shifter` type is useful for building lexers because it keeps track of the start and end position of a byte selection, and shifts the bytes whenever a valid token is found.\nThe `Lexer` is however an improved version of `Shifter`, allowing zero-copy for the parser by using a (kind of) ring buffer underneath.","version":"v2.0.0+incompatible","softwareVersion":"v2.0.0+incompatible","license":"https://spdx.org/licenses/MIT","codeRepository":"https://github.com/tdewolff/buffer","url":"https://github.com/tdewolff/buffer","dateCreated":"2015-11-03","dateModified":"2017-11-10","datePublished":"2017-11-10","copyrightYear":2015,"downloadUrl":"https://proxy.golang.org/github.com/tdewolff/buffer/@v/v2.0.0+incompatible.zip","softwareHelp":{"@type":"WebSite","url":"https://pkg.go.dev/github.com/tdewolff/buffer#section-documentation"},"applicationCategory":"go","runtimePlatform":"go","sameAs":["https://pkg.go.dev/github.com/tdewolff/buffer"]}