1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
<!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.7"/>
<title>glibmm: Variant Data Types</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" />
</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 style="padding-left: 0.5em;">
<div id="projectname">glibmm
 <span id="projectnumber">2.42.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<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><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">Variant Data Types</div> </div>
</div><!--header-->
<div class="contents">
<p>The <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> classes deal with strongly typed variant data.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1VariantBase.html">Glib::VariantBase</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This is the base class for all <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> types. <a href="classGlib_1_1VariantBase.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1VariantStringBase.html">Glib::VariantStringBase</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class from which string variant classes derive. <a href="classGlib_1_1VariantStringBase.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1VariantContainerBase.html">Glib::VariantContainerBase</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The base class from which multiple-item Variants derive, such as Variants containing tuples or arrays. <a href="classGlib_1_1VariantContainerBase.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant.html">Glib::Variant< T ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template class used for the specialization of the Variant<> classes. <a href="classGlib_1_1Variant.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01VariantBase_01_4.html">Glib::Variant< VariantBase ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> containing a <a class="el" href="classGlib_1_1VariantBase.html" title="This is the base class for all Variant types. ">VariantBase</a>. <a href="classGlib_1_1Variant_3_01VariantBase_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01Variant_3_01T_01_4_01_4.html">Glib::Variant< Variant< T > ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> containing a Variant<T>. <a href="classGlib_1_1Variant_3_01Variant_3_01T_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01Glib_1_1ustring_01_4.html">Glib::Variant< Glib::ustring ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> containing a <a class="el" href="classGlib_1_1ustring.html" title="Glib::ustring has much the same interface as std::string, but contains Unicode characters encoded as ...">Glib::ustring</a>, for variants of type string, bytestring, object path, or signature. <a href="classGlib_1_1Variant_3_01Glib_1_1ustring_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01std_1_1string_01_4.html">Glib::Variant< std::string ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> containing a <a class="elRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01681.html#ga32db3d9898c44d3b3a578b560f7758cc">std::string</a>, for variants of type bytestring, object path, or signature. <a href="classGlib_1_1Variant_3_01std_1_1string_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01std_1_1vector_3_01T_01_4_01_4.html">Glib::Variant< std::vector< T > ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> containing an array of items. <a href="classGlib_1_1Variant_3_01std_1_1vector_3_01T_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01std_1_1vector_3_01Glib_1_1ustring_01_4_01_4.html">Glib::Variant< std::vector< Glib::ustring > ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> containing an array of UTF-8 capable strings. <a href="classGlib_1_1Variant_3_01std_1_1vector_3_01Glib_1_1ustring_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01std_1_1vector_3_01std_1_1string_01_4_01_4.html">Glib::Variant< std::vector< std::string > ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> containing an array of non-UTF-8 strings (byte string arrays). <a href="classGlib_1_1Variant_3_01std_1_1vector_3_01std_1_1string_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html">Glib::Variant< std::map< K, V > ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> containing a dictionary (a map of (key, value) elements). <a href="classGlib_1_1Variant_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1VariantType.html">Glib::VariantType</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classGlib_1_1VariantType.html" title="VariantType - The VariantBase type system. ">VariantType</a> - The <a class="el" href="classGlib_1_1VariantBase.html" title="This is the base class for all Variant types. ">VariantBase</a> type system. <a href="classGlib_1_1VariantType.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01bool_01_4.html">Glib::Variant< bool ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a bool type. <a href="classGlib_1_1Variant_3_01bool_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01unsigned_01char_01_4.html">Glib::Variant< unsigned char ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a unsigned char type. <a href="classGlib_1_1Variant_3_01unsigned_01char_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01gint16_01_4.html">Glib::Variant< gint16 ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a gint16 type. <a href="classGlib_1_1Variant_3_01gint16_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01guint16_01_4.html">Glib::Variant< guint16 ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a guint16 type. <a href="classGlib_1_1Variant_3_01guint16_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01gint32_01_4.html">Glib::Variant< gint32 ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a gint32 type. <a href="classGlib_1_1Variant_3_01gint32_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01guint32_01_4.html">Glib::Variant< guint32 ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a guint32 type. <a href="classGlib_1_1Variant_3_01guint32_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01gint64_01_4.html">Glib::Variant< gint64 ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a gint64 type. <a href="classGlib_1_1Variant_3_01gint64_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01guint64_01_4.html">Glib::Variant< guint64 ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a guint64 type. <a href="classGlib_1_1Variant_3_01guint64_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Variant_3_01double_01_4.html">Glib::Variant< double ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Glib::Variant</a> containing a double type. <a href="classGlib_1_1Variant_3_01double_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>The <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> classes deal with strongly typed variant data. </p>
<p>A <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> stores a value along with information about the type of that value. The range of possible values is determined by the type. The type system used is <a class="el" href="classGlib_1_1VariantType.html" title="VariantType - The VariantBase type system. ">VariantType</a>.</p>
<p>See the <a class="el" href="classGlib_1_1VariantBase.html" title="This is the base class for all Variant types. ">VariantBase</a> class and it's derived types, such as <a class="el" href="classGlib_1_1VariantContainerBase.html" title="The base class from which multiple-item Variants derive, such as Variants containing tuples or arrays...">VariantContainerBase</a>, and the Variant<> template type.</p>
<p><a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> instances always have a type and a value (which are given at construction time). The type and value of a <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> can never change other than by the <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> itself being destroyed. A <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> cannot contain a pointer.</p>
<p><a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> is heavily optimised for dealing with data in serialised form. It works particularly well with data located in memory-mapped files. It can perform nearly all deserialisation operations in a small constant time, usually touching only a single memory page. Serialised <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> data can also be sent over the network.</p>
<p><a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> is largely compatible with D-Bus. Almost all types of <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> instances can be sent over D-Bus. See <a class="el" href="classGlib_1_1VariantType.html" title="VariantType - The VariantBase type system. ">VariantType</a> for exceptions.</p>
<p>There is a Python-inspired text language for describing <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> values. <a class="el" href="classGlib_1_1Variant.html" title="Template class used for the specialization of the Variant<> classes. ">Variant</a> includes a printer for this language and a parser with type inferencing.. </p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Sep 22 2014 21:38:30 for glibmm by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.7
</small></address>
</body>
</html>
|