Skip to content

Utils.IStringParserQuick

robbyxp1 edited this page Feb 13, 2024 · 8 revisions

IStringParserQuick Interface

Interface for parsers for QuickJSON

public interface IStringParserQuick

Derived
StringParserQuick
StringParserQuickTextReader


Properties


IStringParserQuick.Line Property

Text of line in whole

string Line { get; }
Property Value

System.String


IStringParserQuick.Position Property

Current parse position

int Position { get; }
Property Value

System.Int32


Methods


IStringParserQuick.BackUp() Method

Backup one position

void BackUp();


IStringParserQuick.ChecksumCharBlock(Func<char,bool>, bool) Method

Calculate a checksum on the next char block.

uint ChecksumCharBlock(System.Func<char,bool> test, bool skipafter=true);
Parameters

test System.Func<System.Char,System.Boolean>
Test character, if true, accept it and continue

skipafter System.Boolean
True to skip spaces after the block ends

Returns

System.UInt32
Checksum, 0 if no chars


IStringParserQuick.GetChar() Method

Get next character or char.MinValue if at EOL.

char GetChar();
Returns

System.Char


IStringParserQuick.GetNextNonSpaceChar(bool) Method

Skip spaces, then get next character or char.MinValue if at EOL. Optionally skip afterwards

char GetNextNonSpaceChar(bool skipspacesafter=true);
Parameters

skipspacesafter System.Boolean

Returns

System.Char


IStringParserQuick.IsCharMoveOn(char, bool) Method

Is this character at the current position, if so, skip it. Optionally skip space afterwards

bool IsCharMoveOn(char t, bool skipspaceafter=true);
Parameters

t System.Char

skipspaceafter System.Boolean

Returns

System.Boolean


IStringParserQuick.IsEOL() Method

Is at End of Line

bool IsEOL();
Returns

System.Boolean


IStringParserQuick.IsStringMoveOn(string) Method

Is this string at the current position, if so, skip it and skip space

bool IsStringMoveOn(string s);
Parameters

s System.String

Returns

System.Boolean


IStringParserQuick.JNextNumber(bool, bool) Method

Read next number: long, ulong, bigint or double.

QuickJSON.JToken JNextNumber(bool sign, bool skipafter=true);
Parameters

sign System.Boolean
True if negative. Sign has been removed

skipafter System.Boolean
True to skip spaces after the string ends

Returns

JToken
New JToken of number, Long, BigInt or Double. Null if failed


IStringParserQuick.JNextValue(char[], bool) Method

Read next token value from string then skip on

QuickJSON.JToken JNextValue(char[] buffer, bool inarray);
Parameters

buffer System.Char[]
Buffer to place string into

inarray System.Boolean
True if in a json array

Returns

JToken
New JToken of string, Long, ULong, BigInt or Double, Bool. Null if failed


IStringParserQuick.NextCharBlock(char[], Func<char,bool>, bool) Method

Read a character block.

int NextCharBlock(char[] buffer, System.Func<char,bool> test, bool skipafter=true);
Parameters

buffer System.Char[]
Buffer to place string into

test System.Func<System.Char,System.Boolean>
Test function, if true, accept it, else stop here (without removing it)

skipafter System.Boolean
True to skip spaces after the block ends

Returns

System.Int32
Number of characters in buffer. -1 if it runs out of buffer space


IStringParserQuick.NextQuotedString(char, char[], bool, bool) Method

Get the next quoted string into buffer. Quote has already been removed.

int NextQuotedString(char quote, char[] buffer, bool replaceescape=false, bool skipafter=true);
Parameters

quote System.Char
Quote character to stop on

buffer System.Char[]
Buffer to place string into

replaceescape System.Boolean
True to replace escape sequences \, /, \b, \f, \n, \r, \t, uNNNN

skipafter System.Boolean
True to skip spaces after the string ends

Returns

System.Int32
Number of characters in buffer. -1 if it runs out of store buffer space or reached end of data


IStringParserQuick.PeekChar() Method

Peek next character or char.MinValue if at EOL.

char PeekChar();
Returns

System.Char


IStringParserQuick.SkipSpace() Method

Skip all white space

void SkipSpace();
Clone this wiki locally