<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.11"/> <title>glibmm: Glib::Markup::Parser Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="doxygen-extra.css" rel="stylesheet" type="text/css"/> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">glibmm  <span id="projectnumber">2.60.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceGlib.html">Glib</a></li><li class="navelem"><a class="el" href="namespaceGlib_1_1Markup.html">Markup</a></li><li class="navelem"><a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="classGlib_1_1Markup_1_1Parser-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">Glib::Markup::Parser Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__Markup.html">Simple XML Subset Parser</a></div></div> </div> </div><!--header--> <div class="contents"> <p>The abstract markup parser base class. <a href="classGlib_1_1Markup_1_1Parser.html#details">More...</a></p> <p><code>#include <glibmm/markup.h></code></p> <div class="dynheader"> Inheritance diagram for Glib::Markup::Parser:</div> <div class="dyncontent"> <div class="center"><img src="classGlib_1_1Markup_1_1Parser__inherit__graph.png" border="0" usemap="#Glib_1_1Markup_1_1Parser_inherit__map" alt="Inheritance graph"/></div> <map name="Glib_1_1Markup_1_1Parser_inherit__map" id="Glib_1_1Markup_1_1Parser_inherit__map"> <area shape="rect" id="node2" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html" title="sigc::trackable" alt="" coords="23,5,140,32"/> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:a65bc2af877b64b3077f8635ef81213dc"><td class="memItemLeft" align="right" valign="top">typedef <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a06720.html">std::map</a>< <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>, <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>, <a class="el" href="classGlib_1_1Markup_1_1AttributeKeyLess.html">Glib::Markup::AttributeKeyLess</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#a65bc2af877b64b3077f8635ef81213dc">AttributeMap</a></td></tr> <tr class="separator:a65bc2af877b64b3077f8635ef81213dc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_types_structsigc_1_1trackable"><td colspan="2" onclick="javascript:toggleInherit('pub_types_structsigc_1_1trackable')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="http://library.gnome.org/devel/libsigc++/unstable/structsigc_1_1trackable.html">sigc::trackable</a></td></tr> <tr class="memitem:a3338954d7565534bd945290b798e13ed inherit pub_types_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top">typedef internal::func_destroy_notify </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#a3338954d7565534bd945290b798e13ed">func_destroy_notify</a></td></tr> <tr class="separator:a3338954d7565534bd945290b798e13ed inherit pub_types_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a9932a9141e04ece2d063dad4eefa0380"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#a9932a9141e04ece2d063dad4eefa0380">~Parser</a> ()=0</td></tr> <tr class="separator:a9932a9141e04ece2d063dad4eefa0380"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_structsigc_1_1trackable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structsigc_1_1trackable')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="http://library.gnome.org/devel/libsigc++/unstable/structsigc_1_1trackable.html">sigc::trackable</a></td></tr> <tr class="memitem:a7e1348841e762fb41b41c6f2ce9fa073 inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#a7e1348841e762fb41b41c6f2ce9fa073">trackable</a> () noexcept</td></tr> <tr class="separator:a7e1348841e762fb41b41c6f2ce9fa073 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac8431d9452c9698a012597e6560c72fa inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#ac8431d9452c9698a012597e6560c72fa">trackable</a> (const <a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html">trackable</a> &src) noexcept</td></tr> <tr class="separator:ac8431d9452c9698a012597e6560c72fa inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aba42ed8afb6598106cf68c18a7387f18 inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#aba42ed8afb6598106cf68c18a7387f18">trackable</a> (<a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html">trackable</a> &&src)</td></tr> <tr class="separator:aba42ed8afb6598106cf68c18a7387f18 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a75587da09e30031db7a2519843f1f4fb inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#a75587da09e30031db7a2519843f1f4fb">~trackable</a> ()</td></tr> <tr class="separator:a75587da09e30031db7a2519843f1f4fb inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed95b40846f61b4f202348c71d5913ea inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#aed95b40846f61b4f202348c71d5913ea">add_destroy_notify_callback</a> (void *data, <a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#a3338954d7565534bd945290b798e13ed">func_destroy_notify</a> func) const</td></tr> <tr class="separator:aed95b40846f61b4f202348c71d5913ea inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af2e23cfe7adc1ca844a3350bbac557cb inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#af2e23cfe7adc1ca844a3350bbac557cb">notify_callbacks</a> ()</td></tr> <tr class="separator:af2e23cfe7adc1ca844a3350bbac557cb inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7494fbad23a65932ff1457d00d4edaf5 inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html">trackable</a> & </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#a7494fbad23a65932ff1457d00d4edaf5">operator=</a> (const <a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html">trackable</a> &src)</td></tr> <tr class="separator:a7494fbad23a65932ff1457d00d4edaf5 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3d61cdb452dc46fcdc8a8d42d9c079d inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html">trackable</a> & </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#ac3d61cdb452dc46fcdc8a8d42d9c079d">operator=</a> (<a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html">trackable</a> &&src)</td></tr> <tr class="separator:ac3d61cdb452dc46fcdc8a8d42d9c079d inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad1c1845ff5b356f13b32180077f83cff inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html#ad1c1845ff5b356f13b32180077f83cff">remove_destroy_notify_callback</a> (void *data) const</td></tr> <tr class="separator:ad1c1845ff5b356f13b32180077f83cff inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:ab36908e49f4d711f0490837f4d1cdfe7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#ab36908e49f4d711f0490837f4d1cdfe7">Parser</a> ()</td></tr> <tr class="memdesc:ab36908e49f4d711f0490837f4d1cdfe7"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a <a class="el" href="classGlib_1_1Markup_1_1Parser.html" title="The abstract markup parser base class. ">Parser</a> object. <a href="#ab36908e49f4d711f0490837f4d1cdfe7">More...</a><br /></td></tr> <tr class="separator:ab36908e49f4d711f0490837f4d1cdfe7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae2e78c3648e09c27d1669cfecce04512"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#ae2e78c3648e09c27d1669cfecce04512">Parser</a> (const <a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>&)=delete</td></tr> <tr class="separator:ae2e78c3648e09c27d1669cfecce04512"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae280e679437c3171de938d5f32e2f617"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#ae280e679437c3171de938d5f32e2f617">operator=</a> (const <a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>&)=delete</td></tr> <tr class="separator:ae280e679437c3171de938d5f32e2f617"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af253691b2e94f89b795c2003eb88e35c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#af253691b2e94f89b795c2003eb88e35c">Parser</a> (<a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>&& other) noexcept</td></tr> <tr class="separator:af253691b2e94f89b795c2003eb88e35c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2cd16386aad076de304d1f59fec2df64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#a2cd16386aad076de304d1f59fec2df64">operator=</a> (<a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>&& other) noexcept</td></tr> <tr class="separator:a2cd16386aad076de304d1f59fec2df64"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae6d6ae3c4f3aab7c2ee22a079fcb7915"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#ae6d6ae3c4f3aab7c2ee22a079fcb7915">on_start_element</a> (<a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& context, const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& element_name, const <a class="el" href="classGlib_1_1Markup_1_1Parser.html#a65bc2af877b64b3077f8635ef81213dc">AttributeMap</a>& attributes)</td></tr> <tr class="memdesc:ae6d6ae3c4f3aab7c2ee22a079fcb7915"><td class="mdescLeft"> </td><td class="mdescRight">Called for open tags <code><foo bar="baz"></code>. <a href="#ae6d6ae3c4f3aab7c2ee22a079fcb7915">More...</a><br /></td></tr> <tr class="separator:ae6d6ae3c4f3aab7c2ee22a079fcb7915"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac0917070686ec7dc72d544feeda24942"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#ac0917070686ec7dc72d544feeda24942">on_end_element</a> (<a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& context, const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& element_name)</td></tr> <tr class="memdesc:ac0917070686ec7dc72d544feeda24942"><td class="mdescLeft"> </td><td class="mdescRight">Called for close tags <code></foo></code>. <a href="#ac0917070686ec7dc72d544feeda24942">More...</a><br /></td></tr> <tr class="separator:ac0917070686ec7dc72d544feeda24942"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a481ae1c7007fe49e968bfc4393b9ad3d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#a481ae1c7007fe49e968bfc4393b9ad3d">on_text</a> (<a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& context, const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& text)</td></tr> <tr class="memdesc:a481ae1c7007fe49e968bfc4393b9ad3d"><td class="mdescLeft"> </td><td class="mdescRight">Called for character data. <a href="#a481ae1c7007fe49e968bfc4393b9ad3d">More...</a><br /></td></tr> <tr class="separator:a481ae1c7007fe49e968bfc4393b9ad3d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2f01a92bf1571497c23cfc38137751a5"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#a2f01a92bf1571497c23cfc38137751a5">on_passthrough</a> (<a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& context, const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& passthrough_text)</td></tr> <tr class="memdesc:a2f01a92bf1571497c23cfc38137751a5"><td class="mdescLeft"> </td><td class="mdescRight">Called for strings that should be re-saved verbatim in this same position, but are not otherwise interpretable. <a href="#a2f01a92bf1571497c23cfc38137751a5">More...</a><br /></td></tr> <tr class="separator:a2f01a92bf1571497c23cfc38137751a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:addad19d661fea6b71fa0a88cb677b3cc"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Markup_1_1Parser.html#addad19d661fea6b71fa0a88cb677b3cc">on_error</a> (<a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& context, const <a class="el" href="classGlib_1_1MarkupError.html">MarkupError</a>& error)</td></tr> <tr class="memdesc:addad19d661fea6b71fa0a88cb677b3cc"><td class="mdescLeft"> </td><td class="mdescRight">Called on error, including one thrown by an overridden virtual method. <a href="#addad19d661fea6b71fa0a88cb677b3cc">More...</a><br /></td></tr> <tr class="separator:addad19d661fea6b71fa0a88cb677b3cc"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>The abstract markup parser base class. </p> <p>To implement a parser for your markup format, derive from <a class="el" href="classGlib_1_1Markup_1_1Parser.html" title="The abstract markup parser base class. ">Glib::Markup::Parser</a> and implement the virtual methods.</p> <p>You don't have to override all of the virtual methods. If a particular method is not implement the data passed to it will be ignored. Except for the error method, any of these callbacks can throw an error exception; in particular the <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a2a63efd807b6e40451b57e128b34d9f5" title="Error should be set by MarkupParser functions; element wasn't known. ">MarkupError::UNKNOWN_ELEMENT</a>, <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7aef0a541fa2885ffc56d0703a55afa735" title="Error should be set by MarkupParser functions; attribute wasn't known. ">MarkupError::UNKNOWN_ATTRIBUTE</a>, and <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a4051754fb4e8f11408fe06445e99761e" title="Error should be set by MarkupParser functions; content was invalid. ">MarkupError::INVALID_CONTENT</a> errors are intended to be thrown from these overridden methods. If you throw an error from a method, <a class="el" href="classGlib_1_1Markup_1_1ParseContext.html#a1158f306b9d7211d97fa02fdfbfddf50" title="Feed some data to the ParseContext. ">Glib::Markup::ParseContext::parse()</a> will report that error back to its caller. </p> </div><h2 class="groupheader">Member Typedef Documentation</h2> <a class="anchor" id="a65bc2af877b64b3077f8635ef81213dc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a06720.html">std::map</a><<a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>, <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>, <a class="el" href="classGlib_1_1Markup_1_1AttributeKeyLess.html">Glib::Markup::AttributeKeyLess</a>> <a class="el" href="classGlib_1_1Markup_1_1Parser.html#a65bc2af877b64b3077f8635ef81213dc">Glib::Markup::Parser::AttributeMap</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a9932a9141e04ece2d063dad4eefa0380"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual Glib::Markup::Parser::~Parser </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ab36908e49f4d711f0490837f4d1cdfe7"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Glib::Markup::Parser::Parser </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructs a <a class="el" href="classGlib_1_1Markup_1_1Parser.html" title="The abstract markup parser base class. ">Parser</a> object. </p> <p>Note that <a class="el" href="classGlib_1_1Markup_1_1Parser.html" title="The abstract markup parser base class. ">Markup::Parser</a> is an abstract class which can't be instantiated directly. To implement the parser for your markup format, derive from <a class="el" href="classGlib_1_1Markup_1_1Parser.html" title="The abstract markup parser base class. ">Markup::Parser</a> and implement the virtual methods. </p> </div> </div> <a class="anchor" id="ae2e78c3648e09c27d1669cfecce04512"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Glib::Markup::Parser::Parser </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>& </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="af253691b2e94f89b795c2003eb88e35c"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Glib::Markup::Parser::Parser </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>&& </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="ac0917070686ec7dc72d544feeda24942"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void Glib::Markup::Parser::on_end_element </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"><em>element_name</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called for close tags <code></foo></code>. </p> <p>This virtual method is invoked when the closing tag of an element is seen. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">context</td><td>The <a class="el" href="classGlib_1_1Markup_1_1ParseContext.html" title="A parse context is used to parse marked-up documents. ">Markup::ParseContext</a> object the parsed data belongs to. </td></tr> <tr><td class="paramname">element_name</td><td>The name of the element. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="classGlib_1_1MarkupError.html" title="Exception class for markup parsing errors. ">Glib::MarkupError</a></td><td>An exception <em>you</em> should throw if something went wrong, for instance if an unknown attribute name was encountered. In particular the <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a2a63efd807b6e40451b57e128b34d9f5" title="Error should be set by MarkupParser functions; element wasn't known. ">MarkupError::UNKNOWN_ELEMENT</a>, <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7aef0a541fa2885ffc56d0703a55afa735" title="Error should be set by MarkupParser functions; attribute wasn't known. ">MarkupError::UNKNOWN_ATTRIBUTE</a>, and <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a4051754fb4e8f11408fe06445e99761e" title="Error should be set by MarkupParser functions; content was invalid. ">MarkupError::INVALID_CONTENT</a> errors are intended to be thrown from user-implemented methods. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="addad19d661fea6b71fa0a88cb677b3cc"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void Glib::Markup::Parser::on_error </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1MarkupError.html">MarkupError</a>& </td> <td class="paramname"><em>error</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called on error, including one thrown by an overridden virtual method. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">context</td><td>The <a class="el" href="classGlib_1_1Markup_1_1ParseContext.html" title="A parse context is used to parse marked-up documents. ">Markup::ParseContext</a> object the parsed data belongs to. </td></tr> <tr><td class="paramname">error</td><td>A <a class="el" href="classGlib_1_1MarkupError.html" title="Exception class for markup parsing errors. ">MarkupError</a> object with detailed information about the error. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a2f01a92bf1571497c23cfc38137751a5"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void Glib::Markup::Parser::on_passthrough </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"><em>passthrough_text</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called for strings that should be re-saved verbatim in this same position, but are not otherwise interpretable. </p> <p>This virtual method is invoked for comments, processing instructions and doctype declarations; if you're re-writing the parsed document, write the passthrough text back out in the same position. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">context</td><td>The <a class="el" href="classGlib_1_1Markup_1_1ParseContext.html" title="A parse context is used to parse marked-up documents. ">Markup::ParseContext</a> object the parsed data belongs to. </td></tr> <tr><td class="paramname">passthrough_text</td><td>The text that should be passed through. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="classGlib_1_1MarkupError.html" title="Exception class for markup parsing errors. ">Glib::MarkupError</a></td><td>An exception <em>you</em> should throw if something went wrong, for instance if an unknown attribute name was encountered. In particular the <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a2a63efd807b6e40451b57e128b34d9f5" title="Error should be set by MarkupParser functions; element wasn't known. ">MarkupError::UNKNOWN_ELEMENT</a>, <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7aef0a541fa2885ffc56d0703a55afa735" title="Error should be set by MarkupParser functions; attribute wasn't known. ">MarkupError::UNKNOWN_ATTRIBUTE</a>, and <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a4051754fb4e8f11408fe06445e99761e" title="Error should be set by MarkupParser functions; content was invalid. ">MarkupError::INVALID_CONTENT</a> errors are intended to be thrown from user-implemented methods. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ae6d6ae3c4f3aab7c2ee22a079fcb7915"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void Glib::Markup::Parser::on_start_element </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"><em>element_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1Markup_1_1Parser.html#a65bc2af877b64b3077f8635ef81213dc">AttributeMap</a>& </td> <td class="paramname"><em>attributes</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called for open tags <code><foo bar="baz"></code>. </p> <p>This virtual method is invoked when the opening tag of an element is seen. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">context</td><td>The <a class="el" href="classGlib_1_1Markup_1_1ParseContext.html" title="A parse context is used to parse marked-up documents. ">Markup::ParseContext</a> object the parsed data belongs to. </td></tr> <tr><td class="paramname">element_name</td><td>The name of the element. </td></tr> <tr><td class="paramname">attributes</td><td>A map of attribute name/value pairs. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="classGlib_1_1MarkupError.html" title="Exception class for markup parsing errors. ">Glib::MarkupError</a></td><td>An exception <em>you</em> should throw if something went wrong, for instance if an unknown attribute name was encountered. In particular the <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a2a63efd807b6e40451b57e128b34d9f5" title="Error should be set by MarkupParser functions; element wasn't known. ">MarkupError::UNKNOWN_ELEMENT</a>, <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7aef0a541fa2885ffc56d0703a55afa735" title="Error should be set by MarkupParser functions; attribute wasn't known. ">MarkupError::UNKNOWN_ATTRIBUTE</a>, and <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a4051754fb4e8f11408fe06445e99761e" title="Error should be set by MarkupParser functions; content was invalid. ">MarkupError::INVALID_CONTENT</a> errors are intended to be thrown from user-implemented methods. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a481ae1c7007fe49e968bfc4393b9ad3d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void Glib::Markup::Parser::on_text </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1Markup_1_1ParseContext.html">ParseContext</a>& </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"><em>text</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called for character data. </p> <p>This virtual method is invoked when some text is seen (text is always inside an element). </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">context</td><td>The <a class="el" href="classGlib_1_1Markup_1_1ParseContext.html" title="A parse context is used to parse marked-up documents. ">Markup::ParseContext</a> object the parsed data belongs to. </td></tr> <tr><td class="paramname">text</td><td>The parsed text in UTF-8 encoding. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="classGlib_1_1MarkupError.html" title="Exception class for markup parsing errors. ">Glib::MarkupError</a></td><td>An exception <em>you</em> should throw if something went wrong, for instance if an unknown attribute name was encountered. In particular the <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a2a63efd807b6e40451b57e128b34d9f5" title="Error should be set by MarkupParser functions; element wasn't known. ">MarkupError::UNKNOWN_ELEMENT</a>, <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7aef0a541fa2885ffc56d0703a55afa735" title="Error should be set by MarkupParser functions; attribute wasn't known. ">MarkupError::UNKNOWN_ATTRIBUTE</a>, and <a class="el" href="group__Markup.html#ga1422c4a583441bbe490b8ed47d7fe1a7a4051754fb4e8f11408fe06445e99761e" title="Error should be set by MarkupParser functions; content was invalid. ">MarkupError::INVALID_CONTENT</a> errors are intended to be thrown from user-implemented methods. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ae280e679437c3171de938d5f32e2f617"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>& Glib::Markup::Parser::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>& </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a2cd16386aad076de304d1f59fec2df64"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>& Glib::Markup::Parser::operator= </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1Markup_1_1Parser.html">Parser</a>&& </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Tue Mar 19 2019 09:56:48 for glibmm by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.11 </small></address> </body> </html>