glibmm: Glib::Markup::ParseContext Class Reference

A parse context is used to parse marked-up documents. More...

#include <glibmm/markup.h>

Inheritance diagram for Glib::Markup::ParseContext:

Public Member Functions

 ParseContext (Parser& parser, ParseFlags flags=ParseFlags(0))
 Creates a new parse context. More...

 
 ParseContext (const ParseContext&)=delete
 
ParseContextoperator= (const ParseContext&)=delete
 
 ParseContext (ParseContext&& other) noexcept
 
ParseContextoperator= (ParseContext&& other) noexcept
 
virtual ~ParseContext ()
 
void parse (const Glib::ustring& text)
 Feed some data to the ParseContext. More...

 
void parse (const char* text_begin, const char* text_end)
 Feed some data to the ParseContext. More...

 
void end_parse ()
 Signals to the ParseContext that all data has been fed into the parse context with parse(). More...

 
Glib::ustring get_element () const
 Retrieves the name of the currently open element. More...

 
int get_line_number () const
 Retrieves the current line number. More...

 
int get_char_number () const
 Retrieves the number of the current character on the current line. More...

 
Parserget_parser ()
 
const Parserget_parser () const
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src) noexcept
 
 ~trackable ()
 
void add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src) noexcept
 
void remove_destroy_notify_callback (notifiable *data) const
 

Additional Inherited Members

- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 
- Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify func_destroy_notify
 

Detailed Description

A parse context is used to parse marked-up documents.

You can feed any number of documents into a context, as long as no errors occur; once an error occurs, the parse context can't continue to parse text (you have to destroy it and create a new parse context).

Constructor & Destructor Documentation

Glib::Markup::ParseContext::ParseContext ( Parser parser,
ParseFlags  flags = ParseFlags(0) 
)
explicit

Creates a new parse context.

Parameters
parserA Markup::Parser instance.
flagsBitwise combination of Markup::ParseFlags.
Glib::Markup::ParseContext::ParseContext ( const ParseContext )
delete
Glib::Markup::ParseContext::ParseContext ( ParseContext&&  other)
noexcept
virtual Glib::Markup::ParseContext::~ParseContext ( )
virtual

Member Function Documentation

void Glib::Markup::ParseContext::end_parse ( )

Signals to the ParseContext that all data has been fed into the parse context with parse().

This method reports an error if the document isn't complete, for example if elements are still open.

Exceptions
Glib::MarkupError
int Glib::Markup::ParseContext::get_char_number ( ) const

Retrieves the number of the current character on the current line.

Intended for use in error messages; there are no strict semantics for what constitutes the "current" character number other than "the best number we could come up with for error messages."

Glib::ustring Glib::Markup::ParseContext::get_element ( ) const

Retrieves the name of the currently open element.

Returns
The name of the currently open element, or "".
int Glib::Markup::ParseContext::get_line_number ( ) const

Retrieves the current line number.

Intended for use in error messages; there are no strict semantics for what constitutes the "current" line number other than "the best number we could come up with for error messages."

Parser* Glib::Markup::ParseContext::get_parser ( )
inline
const Parser* Glib::Markup::ParseContext::get_parser ( ) const
inline
ParseContext& Glib::Markup::ParseContext::operator= ( const ParseContext )
delete
ParseContext& Glib::Markup::ParseContext::operator= ( ParseContext&&  other)
noexcept
void Glib::Markup::ParseContext::parse ( const Glib::ustring text)

Feed some data to the ParseContext.

The data need not be valid UTF-8; an error will be signalled if it's invalid. The data need not be an entire document; you can feed a document into the parser incrementally, via multiple calls to this function. Typically, as you receive data from a network connection or file, you feed each received chunk of data into this function, aborting the process if an error occurs. Once an error is reported, no further data may be fed to the ParseContext; all errors are fatal.

Parameters
textChunk of text to parse.
Exceptions
Glib::MarkupError
void Glib::Markup::ParseContext::parse ( const char *  text_begin,
const char *  text_end 
)

Feed some data to the ParseContext.

The data need not be valid UTF-8; an error will be signalled if it's invalid. The data need not be an entire document; you can feed a document into the parser incrementally, via multiple calls to this function. Typically, as you receive data from a network connection or file, you feed each received chunk of data into this function, aborting the process if an error occurs. Once an error is reported, no further data may be fed to the ParseContext; all errors are fatal.

Parameters
text_beginBegin of chunk of text to parse.
text_endEnd of chunk of text to parse.
Exceptions
Glib::MarkupError