Bitcoin ABC 0.30.7
P2P Digital Currency
|
Functions | |
bool | Const (const std::string &str, Span< const char > &sp) |
Parse a constant. More... | |
bool | Func (const std::string &str, Span< const char > &sp) |
Parse a function call. More... | |
Span< const char > | Expr (Span< const char > &sp) |
Extract the expression that sp begins with. More... | |
template<typename T = Span<const char>> | |
std::vector< T > | Split (const Span< const char > &sp, char sep) |
Split a string on every instance of sep, returning a vector. More... | |
bool spanparsing::Const | ( | const std::string & | str, |
Span< const char > & | sp | ||
) |
Parse a constant.
If sp's initial part matches str, sp is updated to skip that part, and true is returned. Otherwise sp is unmodified and false is returned.
Definition at line 14 of file spanparsing.cpp.
Extract the expression that sp begins with.
This function will return the initial part of sp, up to (but not including) the first comma or closing brace, skipping ones that are surrounded by braces. So for example, for "foo(bar(1),2),3" the initial part "foo(bar(1),2)" will be returned. sp will be updated to skip the initial part that is returned.
Definition at line 33 of file spanparsing.cpp.
bool spanparsing::Func | ( | const std::string & | str, |
Span< const char > & | sp | ||
) |
Parse a function call.
If sp's initial part matches str + "(", and sp ends with ")", sp is updated to be the section between the braces, and true is returned. Otherwise sp is unmodified and false is returned.
Definition at line 23 of file spanparsing.cpp.
std::vector< T > spanparsing::Split | ( | const Span< const char > & | sp, |
char | sep | ||
) |
Split a string on every instance of sep, returning a vector.
If sep does not occur in sp, a singleton with the entirety of sp is returned.
Note that this function does not care about braces, so splitting "foo(bar(1),2),3) on ',' will return {"foo(bar(1)", "2)", "3)"}.
Definition at line 52 of file spanparsing.h.