CoreComponents 3.0.0
A Modern C++ Toolkit
|
Yet another simple object notation More...
#include <cc/YasonSyntax>
Public Member Functions | |
YasonSyntax () | |
Get an instance of this syntax definition. | |
Variant | parse (const String &text, const MetaProtocol &protocol=MetaProtocol{}) const |
Parse YASON message text according to protocol and return its value. | |
MetaObject | readObject (const String &text, const Token &token, const MetaPrototype &prototype=MetaPrototype{}) const |
Read object from YASON message text according to given prototype. | |
Public Member Functions inherited from SyntaxDefinition | |
SyntaxDefinition ()=default | |
Create a null syntax definition. | |
SyntaxDefinition (const SyntaxRule *entry) | |
Create a new syntax definition. | |
Token | match (const String &text, long offset=0) const |
Match this syntax definition against text starting at offset | |
Token | parse (const String &text, long offset=0) const |
Match this syntax definition against text starting at offset | |
Token | findIn (const String &text, long offset=0) const |
Find the next occurance of this pattern in text starting from offset. | |
List< String > | breakUp (const String &text) const |
Break up text into the non-matching parts. | |
operator SyntaxRule () const | |
Allow use this definition as a syntax rule within another definition. | |
SyntaxRule | entry () const |
Get the entry rule of this definition. | |
Public Member Functions inherited from Object | |
Object ()=default | |
Create a null object. | |
operator bool () const | |
Check if this is a non-null object. | |
bool | isNull () const |
Check if this is a null object. | |
template<class T > | |
bool | is () const |
Check if this object is of type T. | |
template<class T > | |
T | as () const |
Cast this object to type T. | |
bool | isWeak () const |
Check if the underlying object reference is weak. | |
bool | operator== (const Object &other) const |
Equality operator. | |
std::strong_ordering | operator<=> (const Object &other) const |
Ordering operator. | |
long | useCount () const |
Reference count. | |
Additional Inherited Members | |
Public Types inherited from SyntaxDefinition | |
using | SyntaxNode = syntax::SyntaxNode |
using | SyntaxRule = cc::SyntaxRule |
Syntactic rule within a syntax definition. | |
using | VoidRule = syntax::VoidRule |
Syntax rule which does not produce any token. | |
Protected Member Functions inherited from SyntaxDefinition | |
SyntaxDefinition (State *newState) | |
State & | me () |
const State & | me () const |
Protected Member Functions inherited from Object | |
template<class T > | |
T | weak () const |
template<class T > | |
void | initOnce () |
Create the object state when called the first time. | |
template<class T > | |
void | initOncePerThread () |
Create a distinct object state for each thread when called the first time in that thread. | |
Object (State *newState) | |
Initialize object with newState. | |
Object (State *state, Alias) | |
Object (State *state, Weak) | |
Object & | operator= (std::nullptr_t) |
Static Protected Member Functions inherited from Object | |
template<class T > | |
static T | alias (const State *state) |
Create an alias object for the given state. | |
template<class T > | |
static T | weak (const State *state) |
Protected Attributes inherited from Object | |
Handle< State > | me |
Internal object state | |
Yet another simple object notation
YasonSyntax | ( | ) |
Get an instance of this syntax definition.
Variant parse | ( | const String & | text, |
const MetaProtocol & | protocol = MetaProtocol{} ) const |
Parse YASON message text according to protocol and return its value.
MetaObject readObject | ( | const String & | text, |
const Token & | token, | ||
const MetaPrototype & | prototype = MetaPrototype{} ) const |
Read object from YASON message text according to given prototype.