Package io.github.qishr.cascara.lang.json.token
Class JsonSourceByteBuffer
java.lang.Object
io.github.qishr.cascara.lang.json.token.JsonSourceByteBuffer
All Implemented Interfaces:
JsonSimdCapableBuffer, LexemeProvider
public final class JsonSourceByteBuffer
Field Summary
| Modifier and Type | Field | Description |
|---|---|---|
| public static final boolean | VECTOR_AVAILABLE | |
| public final byte[] | raw |
Constructor Summary
| Constructor | Description |
|---|---|
| JsonSourceByteBuffer(byte[] raw, JsonOptions options) |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
| public String | slice(int startOffset, int endOffset) | |
| public boolean | isAtEnd() | |
| public byte | peekByte() | |
| public byte | advanceByte() | |
| public char | peekNext() | |
| public char | peekAhead(int steps) | |
| public char | peek() | |
| public char | advance() | |
| public void | backup() | |
| public char | advanceWithTracking() | |
| public void | backupWithTracking() | |
| public int | offset() | |
| public void | setOffset(int newOffset) | |
| public int | length() | |
| public char | charAt(int index) | |
| public CharSequence | subSequence(int start, int end) | |
| public void | startTokenWindow() | |
| public String | getTokenWindowLexeme() | |
| public int | windowStartOffset() | |
| public int | windowStartLine() | |
| public int | windowStartColumn() | |
| public int | line() | |
| public int | column() | |
| public void | skipWhitespaceSimd() | JSON Strict |
| public int | scanDigitsSimd(int pos) | |
| public int | scanStringAsciiSimd(int pos, byte quoteByte) | |
| public int | scanStructuralSimd(int pos) | |
| public void | skipWhitespaceAndFormattingSimd() | JSON5 |
| public int | scanAsciiUntilUtf8LeadSimd(int pos) | |
| public int | scanIdentifierStartSimd(int pos) | |
| public void | advanceBy(int n) | |
| public int | parseEightDigitsSIMD(byte[] raw, int offset) | |
| public static boolean | isVectorApiAvailable() | |
| public boolean | isEightDigitsSIMD(byte[] raw, int offset, int limit) | |
| public boolean | isEightDigits(byte[] raw, int offset, int limit) | |
| public int | parseEightDigits(byte[] raw, int offset) | |
| public boolean | matchKeywordByte(byte[] raw, int offset, String kw) | |
| public boolean | matchKeywordByte(byte[] raw, int offset, String kw, int relativeOffset) |
Field Details
VECTOR_AVAILABLE
public static final boolean VECTOR_AVAILABLE
raw
public final byte[] raw
Method Details
slice
public String slice(int startOffset, int endOffset)
Specified By:
isAtEnd
public boolean isAtEnd()
peekByte
public byte peekByte()
advanceByte
public byte advanceByte()
peekNext
public char peekNext()
peekAhead
public char peekAhead(int steps)
peek
public char peek()
advance
public char advance()
backup
public void backup()
advanceWithTracking
public char advanceWithTracking()
backupWithTracking
public void backupWithTracking()
offset
public int offset()
setOffset
public void setOffset(int newOffset)
length
public int length()
charAt
public char charAt(int index)
subSequence
public CharSequence subSequence(int start, int end)
startTokenWindow
public void startTokenWindow()
getTokenWindowLexeme
public String getTokenWindowLexeme()
windowStartOffset
public int windowStartOffset()
windowStartLine
public int windowStartLine()
windowStartColumn
public int windowStartColumn()
line
public int line()
column
public int column()
skipWhitespaceSimd
public void skipWhitespaceSimd()
JSON Strict
scanDigitsSimd
public int scanDigitsSimd(int pos)
scanStringAsciiSimd
public int scanStringAsciiSimd(int pos, byte quoteByte)
Specified By:
scanStructuralSimd
public int scanStructuralSimd(int pos)
skipWhitespaceAndFormattingSimd
public void skipWhitespaceAndFormattingSimd()
JSON5
Specified By:
scanAsciiUntilUtf8LeadSimd
public int scanAsciiUntilUtf8LeadSimd(int pos)
scanIdentifierStartSimd
public int scanIdentifierStartSimd(int pos)
advanceBy
public void advanceBy(int n)
parseEightDigitsSIMD
public int parseEightDigitsSIMD(byte[] raw, int offset)
isVectorApiAvailable
public static boolean isVectorApiAvailable()
isEightDigitsSIMD
public boolean isEightDigitsSIMD(byte[] raw, int offset, int limit)
isEightDigits
public boolean isEightDigits(byte[] raw, int offset, int limit)
parseEightDigits
public int parseEightDigits(byte[] raw, int offset)
matchKeywordByte
public boolean matchKeywordByte(byte[] raw, int offset, String kw)
matchKeywordByte
public boolean matchKeywordByte(byte[] raw, int offset, String kw, int relativeOffset)