| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>Avro C++: avro::Node 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="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <link href="doxygen.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">Avro C++ |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.17 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| /* @license-end */</script> |
| <div id="main-nav"></div> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div id="nav-path" class="navpath"> |
| <ul> |
| <li class="navelem"><a class="el" href="namespaceavro.html">avro</a></li><li class="navelem"><a class="el" href="classavro_1_1Node.html">Node</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pro-methods">Protected Member Functions</a> | |
| <a href="classavro_1_1Node-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">avro::Node Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p><a class="el" href="classavro_1_1Node.html" title="Node is the building block for parse trees.">Node</a> is the building block for parse trees. |
| <a href="classavro_1_1Node.html#details">More...</a></p> |
| |
| <p><code>#include <<a class="el" href="Node_8hh_source.html">Node.hh</a>></code></p> |
| <div class="dynheader"> |
| Inheritance diagram for avro::Node:</div> |
| <div class="dyncontent"> |
| <div class="center"> |
| <img src="classavro_1_1Node.png" usemap="#avro::Node_map" alt=""/> |
| <map id="avro::Node_map" name="avro::Node_map"> |
| <area href="classavro_1_1NodeImpl.html" title="Implementation details for Node." alt="avro::NodeImpl< NameConcept, LeavesConcept, LeafNamesConcept, SizeConcept >" shape="rect" coords="0,112,495,136"/> |
| <area href="classavro_1_1NodeArray.html" alt="avro::NodeArray" shape="rect" coords="505,168,1000,192"/> |
| <area href="classavro_1_1NodeEnum.html" alt="avro::NodeEnum" shape="rect" coords="505,224,1000,248"/> |
| <area href="classavro_1_1NodeFixed.html" alt="avro::NodeFixed" shape="rect" coords="505,280,1000,304"/> |
| <area href="classavro_1_1NodeMap.html" alt="avro::NodeMap" shape="rect" coords="505,336,1000,360"/> |
| <area href="classavro_1_1NodePrimitive.html" alt="avro::NodePrimitive" shape="rect" coords="505,392,1000,416"/> |
| <area href="classavro_1_1NodeRecord.html" alt="avro::NodeRecord" shape="rect" coords="505,448,1000,472"/> |
| <area href="classavro_1_1NodeSymbolic.html" alt="avro::NodeSymbolic" shape="rect" coords="505,504,1000,528"/> |
| <area href="classavro_1_1NodeUnion.html" alt="avro::NodeUnion" shape="rect" coords="505,560,1000,584"/> |
| </map> |
| </div></div> |
| <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:ad36f7c3a3cb058786da111d20018f440"><td class="memItemLeft" align="right" valign="top"><a id="ad36f7c3a3cb058786da111d20018f440"></a> |
|  </td><td class="memItemRight" valign="bottom"><b>Node</b> (<a class="el" href="namespaceavro.html#a29e528c3fe1cb5660067a02721fae0b7">Type</a> type)</td></tr> |
| <tr class="separator:ad36f7c3a3cb058786da111d20018f440"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab882414b972882350ba4e72daa20b890"><td class="memItemLeft" align="right" valign="top"><a id="ab882414b972882350ba4e72daa20b890"></a> |
| <a class="el" href="namespaceavro.html#a29e528c3fe1cb5660067a02721fae0b7">Type</a> </td><td class="memItemRight" valign="bottom"><b>type</b> () const</td></tr> |
| <tr class="separator:ab882414b972882350ba4e72daa20b890"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8592542a66772ff369392a8e8635f871"><td class="memItemLeft" align="right" valign="top"><a id="a8592542a66772ff369392a8e8635f871"></a> |
| <a class="el" href="classavro_1_1LogicalType.html">LogicalType</a> </td><td class="memItemRight" valign="bottom"><b>logicalType</b> () const</td></tr> |
| <tr class="separator:a8592542a66772ff369392a8e8635f871"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5a0d826764992f52cbfedc347fc2d3d4"><td class="memItemLeft" align="right" valign="top"><a id="a5a0d826764992f52cbfedc347fc2d3d4"></a> |
| void </td><td class="memItemRight" valign="bottom"><b>setLogicalType</b> (<a class="el" href="classavro_1_1LogicalType.html">LogicalType</a> logicalType)</td></tr> |
| <tr class="separator:a5a0d826764992f52cbfedc347fc2d3d4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a52b6151172a832e39c3d0abd2db6b2c5"><td class="memItemLeft" align="right" valign="top"><a id="a52b6151172a832e39c3d0abd2db6b2c5"></a> |
| void </td><td class="memItemRight" valign="bottom"><b>lock</b> ()</td></tr> |
| <tr class="separator:a52b6151172a832e39c3d0abd2db6b2c5"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a859a2ebac4f3e264178446806be441b8"><td class="memItemLeft" align="right" valign="top"><a id="a859a2ebac4f3e264178446806be441b8"></a> |
| bool </td><td class="memItemRight" valign="bottom"><b>locked</b> () const</td></tr> |
| <tr class="separator:a859a2ebac4f3e264178446806be441b8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aab670010bb65db5190558c40e7e02b9d"><td class="memItemLeft" align="right" valign="top"><a id="aab670010bb65db5190558c40e7e02b9d"></a> |
| virtual bool </td><td class="memItemRight" valign="bottom"><b>hasName</b> () const =0</td></tr> |
| <tr class="separator:aab670010bb65db5190558c40e7e02b9d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a902fb07ffc89daa78f0874e709018fb8"><td class="memItemLeft" align="right" valign="top"><a id="a902fb07ffc89daa78f0874e709018fb8"></a> |
| void </td><td class="memItemRight" valign="bottom"><b>setName</b> (const <a class="el" href="classavro_1_1Name.html">Name</a> &name)</td></tr> |
| <tr class="separator:a902fb07ffc89daa78f0874e709018fb8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5f2d4fa93ba96f824127c5953433cdd6"><td class="memItemLeft" align="right" valign="top"><a id="a5f2d4fa93ba96f824127c5953433cdd6"></a> |
| virtual const <a class="el" href="classavro_1_1Name.html">Name</a> & </td><td class="memItemRight" valign="bottom"><b>name</b> () const =0</td></tr> |
| <tr class="separator:a5f2d4fa93ba96f824127c5953433cdd6"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a11b7046668ad8dbe881b6d7cd11fea4a"><td class="memItemLeft" align="right" valign="top"><a id="a11b7046668ad8dbe881b6d7cd11fea4a"></a> |
| virtual const std::string & </td><td class="memItemRight" valign="bottom"><b>getDoc</b> () const =0</td></tr> |
| <tr class="separator:a11b7046668ad8dbe881b6d7cd11fea4a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a12fd1a562072801f342a136bacb3188d"><td class="memItemLeft" align="right" valign="top"><a id="a12fd1a562072801f342a136bacb3188d"></a> |
| void </td><td class="memItemRight" valign="bottom"><b>setDoc</b> (const std::string &doc)</td></tr> |
| <tr class="separator:a12fd1a562072801f342a136bacb3188d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a24aadf05ef6713427c6a4a5caaffad34"><td class="memItemLeft" align="right" valign="top"><a id="a24aadf05ef6713427c6a4a5caaffad34"></a> |
| void </td><td class="memItemRight" valign="bottom"><b>addLeaf</b> (const NodePtr &newLeaf)</td></tr> |
| <tr class="separator:a24aadf05ef6713427c6a4a5caaffad34"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a45e80e8dd8a60e330344b1fc640fa7c7"><td class="memItemLeft" align="right" valign="top"><a id="a45e80e8dd8a60e330344b1fc640fa7c7"></a> |
| virtual size_t </td><td class="memItemRight" valign="bottom"><b>leaves</b> () const =0</td></tr> |
| <tr class="separator:a45e80e8dd8a60e330344b1fc640fa7c7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af4b2d635fd4dd5ade29f2024480d795c"><td class="memItemLeft" align="right" valign="top"><a id="af4b2d635fd4dd5ade29f2024480d795c"></a> |
| virtual const NodePtr & </td><td class="memItemRight" valign="bottom"><b>leafAt</b> (size_t index) const =0</td></tr> |
| <tr class="separator:af4b2d635fd4dd5ade29f2024480d795c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6d3648498c0a89195cb668bd684deb2e"><td class="memItemLeft" align="right" valign="top"><a id="a6d3648498c0a89195cb668bd684deb2e"></a> |
| virtual const <a class="el" href="classavro_1_1GenericDatum.html">GenericDatum</a> & </td><td class="memItemRight" valign="bottom"><b>defaultValueAt</b> (size_t index)</td></tr> |
| <tr class="separator:a6d3648498c0a89195cb668bd684deb2e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a50e27aabc765d8e37362bdd56ad071f4"><td class="memItemLeft" align="right" valign="top"><a id="a50e27aabc765d8e37362bdd56ad071f4"></a> |
| void </td><td class="memItemRight" valign="bottom"><b>addName</b> (const std::string &name)</td></tr> |
| <tr class="separator:a50e27aabc765d8e37362bdd56ad071f4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab6edc8e0a9392a5d543407d4dcb2e70a"><td class="memItemLeft" align="right" valign="top"><a id="ab6edc8e0a9392a5d543407d4dcb2e70a"></a> |
| virtual size_t </td><td class="memItemRight" valign="bottom"><b>names</b> () const =0</td></tr> |
| <tr class="separator:ab6edc8e0a9392a5d543407d4dcb2e70a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a85c7e3d30bd7d7c7d8dab938f37714db"><td class="memItemLeft" align="right" valign="top"><a id="a85c7e3d30bd7d7c7d8dab938f37714db"></a> |
| virtual const std::string & </td><td class="memItemRight" valign="bottom"><b>nameAt</b> (size_t index) const =0</td></tr> |
| <tr class="separator:a85c7e3d30bd7d7c7d8dab938f37714db"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab4a93bd6b5e09a1eeb148705bdd48366"><td class="memItemLeft" align="right" valign="top"><a id="ab4a93bd6b5e09a1eeb148705bdd48366"></a> |
| virtual bool </td><td class="memItemRight" valign="bottom"><b>nameIndex</b> (const std::string &name, size_t &index) const =0</td></tr> |
| <tr class="separator:ab4a93bd6b5e09a1eeb148705bdd48366"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa27ca038b1482959004856e8b69fec25"><td class="memItemLeft" align="right" valign="top"><a id="aa27ca038b1482959004856e8b69fec25"></a> |
| void </td><td class="memItemRight" valign="bottom"><b>setFixedSize</b> (size_t size)</td></tr> |
| <tr class="separator:aa27ca038b1482959004856e8b69fec25"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8ded73225ae74ddd2dd2540276e21aa3"><td class="memItemLeft" align="right" valign="top"><a id="a8ded73225ae74ddd2dd2540276e21aa3"></a> |
| virtual size_t </td><td class="memItemRight" valign="bottom"><b>fixedSize</b> () const =0</td></tr> |
| <tr class="separator:a8ded73225ae74ddd2dd2540276e21aa3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a05dfd6de07beb44560745d04daad344f"><td class="memItemLeft" align="right" valign="top"><a id="a05dfd6de07beb44560745d04daad344f"></a> |
| virtual bool </td><td class="memItemRight" valign="bottom"><b>isValid</b> () const =0</td></tr> |
| <tr class="separator:a05dfd6de07beb44560745d04daad344f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab6004d4e943a33fa3f1834a30d8467f4"><td class="memItemLeft" align="right" valign="top"><a id="ab6004d4e943a33fa3f1834a30d8467f4"></a> |
| virtual <a class="el" href="namespaceavro.html#ad17da92a723dce9b89e7c845749615b3">SchemaResolution</a> </td><td class="memItemRight" valign="bottom"><b>resolve</b> (const <a class="el" href="classavro_1_1Node.html">Node</a> &reader) const =0</td></tr> |
| <tr class="separator:ab6004d4e943a33fa3f1834a30d8467f4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa3750fd3bb6d80129e99669f230a7b1a"><td class="memItemLeft" align="right" valign="top"><a id="aa3750fd3bb6d80129e99669f230a7b1a"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>printJson</b> (std::ostream &os, size_t depth) const =0</td></tr> |
| <tr class="separator:aa3750fd3bb6d80129e99669f230a7b1a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa3f4507c3bac662834880f95091f2f6d"><td class="memItemLeft" align="right" valign="top"><a id="aa3f4507c3bac662834880f95091f2f6d"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>printBasicInfo</b> (std::ostream &os) const =0</td></tr> |
| <tr class="separator:aa3f4507c3bac662834880f95091f2f6d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a64bc875dd76eab5a76eb48e3954f60b4"><td class="memItemLeft" align="right" valign="top"><a id="a64bc875dd76eab5a76eb48e3954f60b4"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>setLeafToSymbolic</b> (size_t index, const NodePtr &node)=0</td></tr> |
| <tr class="separator:a64bc875dd76eab5a76eb48e3954f60b4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aebe2d482c5025bceef1f3bfdbd7540b9"><td class="memItemLeft" align="right" valign="top"><a id="aebe2d482c5025bceef1f3bfdbd7540b9"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>printDefaultToJson</b> (const <a class="el" href="classavro_1_1GenericDatum.html">GenericDatum</a> &g, std::ostream &os, size_t depth) const =0</td></tr> |
| <tr class="separator:aebe2d482c5025bceef1f3bfdbd7540b9"><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:a7a6567c3f3e5c79c64aee49cca6a8f4a"><td class="memItemLeft" align="right" valign="top"><a id="a7a6567c3f3e5c79c64aee49cca6a8f4a"></a> |
| void </td><td class="memItemRight" valign="bottom"><b>checkLock</b> () const</td></tr> |
| <tr class="separator:a7a6567c3f3e5c79c64aee49cca6a8f4a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9b2a3843f1311995437e94312a4310f7"><td class="memItemLeft" align="right" valign="top"><a id="a9b2a3843f1311995437e94312a4310f7"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>checkName</b> (const <a class="el" href="classavro_1_1Name.html">Name</a> &name) const</td></tr> |
| <tr class="separator:a9b2a3843f1311995437e94312a4310f7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a548357a62f8572422a17df37b7f65774"><td class="memItemLeft" align="right" valign="top"><a id="a548357a62f8572422a17df37b7f65774"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>doSetName</b> (const <a class="el" href="classavro_1_1Name.html">Name</a> &name)=0</td></tr> |
| <tr class="separator:a548357a62f8572422a17df37b7f65774"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a64a882642effb2ba5aa3df63e2eb8e6b"><td class="memItemLeft" align="right" valign="top"><a id="a64a882642effb2ba5aa3df63e2eb8e6b"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>doSetDoc</b> (const std::string &name)=0</td></tr> |
| <tr class="separator:a64a882642effb2ba5aa3df63e2eb8e6b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a655378a34e35d3464b6945f7de90a49b"><td class="memItemLeft" align="right" valign="top"><a id="a655378a34e35d3464b6945f7de90a49b"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>doAddLeaf</b> (const NodePtr &newLeaf)=0</td></tr> |
| <tr class="separator:a655378a34e35d3464b6945f7de90a49b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7f4fef0b3c779df3b246a117d644914e"><td class="memItemLeft" align="right" valign="top"><a id="a7f4fef0b3c779df3b246a117d644914e"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>doAddName</b> (const std::string &name)=0</td></tr> |
| <tr class="separator:a7f4fef0b3c779df3b246a117d644914e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a104285235cd0d05e359b3d1db3c2a732"><td class="memItemLeft" align="right" valign="top"><a id="a104285235cd0d05e359b3d1db3c2a732"></a> |
| virtual void </td><td class="memItemRight" valign="bottom"><b>doSetFixedSize</b> (size_t size)=0</td></tr> |
| <tr class="separator:a104285235cd0d05e359b3d1db3c2a732"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p><a class="el" href="classavro_1_1Node.html" title="Node is the building block for parse trees.">Node</a> is the building block for parse trees. </p> |
| <p>Each node represents an avro type. Compound types have leaf nodes that represent the types they are composed of.</p> |
| <p>The user does not use the <a class="el" href="classavro_1_1Node.html" title="Node is the building block for parse trees.">Node</a> object directly, they interface with <a class="el" href="classavro_1_1Schema.html" title="The root Schema object is a base class. Nobody constructs this class directly.">Schema</a> objects.</p> |
| <p>The <a class="el" href="classavro_1_1Node.html" title="Node is the building block for parse trees.">Node</a> object uses reference-counted pointers. This is so that schemas may be reused in other schemas, without needing to worry about memory deallocation for nodes that are added to multiple schema parse trees.</p> |
| <p><a class="el" href="classavro_1_1Node.html" title="Node is the building block for parse trees.">Node</a> has minimal implementation, serving as an abstract base class for different node types. </p> |
| </div><hr/>The documentation for this class was generated from the following file:<ul> |
| <li>api/<a class="el" href="Node_8hh_source.html">Node.hh</a></li> |
| </ul> |
| </div><!-- contents --> |
| <!-- start footer part --> |
| <hr class="footer"/><address class="footer"><small> |
| Generated by  <a href="http://www.doxygen.org/index.html"> |
| <img class="footer" src="doxygen.png" alt="doxygen"/> |
| </a> 1.8.17 |
| </small></address> |
| </body> |
| </html> |