buffer.go (891B)
1 // Package buffer contains buffer and wrapper types for byte slices. It is useful for writing lexers or other high-performance byte slice handling. 2 // The `Reader` and `Writer` types implement the `io.Reader` and `io.Writer` respectively and provide a thinner and faster interface than `bytes.Buffer`. 3 // The `Lexer` 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. 4 // The `StreamLexer` does the same, but keeps a buffer pool so that it reads a limited amount at a time, allowing to parse from streaming sources. 5 package buffer 6 7 // defaultBufSize specifies the default initial length of internal buffers. 8 var defaultBufSize = 4096 9 10 // MinBuf specifies the default initial length of internal buffers. 11 // Solely here to support old versions of parse. 12 var MinBuf = defaultBufSize