<!-- HTML header for doxygen 1.8.8--> <!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="X-UA-Compatible" content="IE=edge"> <!-- For Mobile Devices --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta name="generator" content="Doxygen 1.8.15"/> <script type="text/javascript" src="jquery.min.js"></script> <title>rttr: rttr::variant_associative_view Class Reference</title> <!--<link href="tabs.css" rel="stylesheet" type="text/css"/>--> <script type="text/javascript" src="dynsections.js"></script> <link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico"> <link rel = "stylesheet" href = "fonts/ptsans_regular_macroman/stylesheet.css"> <link rel = "stylesheet" href = "fonts/source_code_pro_regular/stylesheet.css"> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="custom-doxygen.css" rel="stylesheet" type="text/css"/> <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="custom-bootstrap.css"> <script src="bootstrap/js/bootstrap.min.js"></script> <script type="text/javascript" src="doxy-boot.js"></script> </head> <body> <!-- <nav class="navbar navbar-default" role="navigation"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand">rttr 0.9.6</a> </div> </div> </nav> --> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div class="content" id="content"> <div class="container"> <div class="row"> <div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;"> <div style="margin-bottom: 15px;"> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <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('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespacerttr.html">rttr</a></li><li class="navelem"><a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="classrttr_1_1variant__associative__view-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">rttr::variant_associative_view Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>The <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> describes a class that refers to an <a href="https://en.wikipedia.org/wiki/Associative_containers" target="_blank">associative container</a> (e.g: <code>std::map</code>) inside a <a class="el" href="classrttr_1_1variant.html">variant</a>. <a href="classrttr_1_1variant__associative__view.html#details">More...</a></p> <p><code>#include <<a class="el" href="variant__associative__view_8h_source.html">variant_associative_view.h</a>></code></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="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">variant_associative_view::const_iterator</a> allows iteration over an associative container in a variant. <a href="classrttr_1_1variant__associative__view_1_1const__iterator.html#details">More...</a><br /></td></tr> <tr class="separator:"><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:a2988a0bb2d65876f20abf37e3a8b7078"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a2988a0bb2d65876f20abf37e3a8b7078">variant_associative_view</a> ()</td></tr> <tr class="memdesc:a2988a0bb2d65876f20abf37e3a8b7078"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an invalid <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> object. <a href="#a2988a0bb2d65876f20abf37e3a8b7078">More...</a><br /></td></tr> <tr class="separator:a2988a0bb2d65876f20abf37e3a8b7078"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ba9357e415624b7fe33d30f9d2a8384"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a3ba9357e415624b7fe33d30f9d2a8384">variant_associative_view</a> (const <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> &other)</td></tr> <tr class="memdesc:a3ba9357e415624b7fe33d30f9d2a8384"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a copy of the given <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> <code>other</code>. <a href="#a3ba9357e415624b7fe33d30f9d2a8384">More...</a><br /></td></tr> <tr class="separator:a3ba9357e415624b7fe33d30f9d2a8384"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89fbfb6739fbc1bbcb9a4667fa8f0366"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a89fbfb6739fbc1bbcb9a4667fa8f0366">~variant_associative_view</a> () noexcept</td></tr> <tr class="memdesc:a89fbfb6739fbc1bbcb9a4667fa8f0366"><td class="mdescLeft"> </td><td class="mdescRight">Destroys the <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a>. <a href="#a89fbfb6739fbc1bbcb9a4667fa8f0366">More...</a><br /></td></tr> <tr class="separator:a89fbfb6739fbc1bbcb9a4667fa8f0366"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3e101465c9cc48a3899d7c6d2ba1d6b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a3e101465c9cc48a3899d7c6d2ba1d6b3">begin</a> () const</td></tr> <tr class="memdesc:a3e101465c9cc48a3899d7c6d2ba1d6b3"><td class="mdescLeft"> </td><td class="mdescRight">Returns an iterator to the first element of the container. <a href="#a3e101465c9cc48a3899d7c6d2ba1d6b3">More...</a><br /></td></tr> <tr class="separator:a3e101465c9cc48a3899d7c6d2ba1d6b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afd8bddb25e0cbc400087466dc3e1bbe8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#afd8bddb25e0cbc400087466dc3e1bbe8">clear</a> ()</td></tr> <tr class="memdesc:afd8bddb25e0cbc400087466dc3e1bbe8"><td class="mdescLeft"> </td><td class="mdescRight">Removes all elements from the container. <a href="#afd8bddb25e0cbc400087466dc3e1bbe8">More...</a><br /></td></tr> <tr class="separator:afd8bddb25e0cbc400087466dc3e1bbe8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a394316f0ca21525dd75371fc64220bb7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a394316f0ca21525dd75371fc64220bb7">end</a> () const</td></tr> <tr class="memdesc:a394316f0ca21525dd75371fc64220bb7"><td class="mdescLeft"> </td><td class="mdescRight">Returns an iterator to the element following the last element of the container. <a href="#a394316f0ca21525dd75371fc64220bb7">More...</a><br /></td></tr> <tr class="separator:a394316f0ca21525dd75371fc64220bb7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a59c011d81b150ecaf467544ce9b7a23e"><td class="memItemLeft" align="right" valign="top">std::pair< <a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a>, <a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a59c011d81b150ecaf467544ce9b7a23e">equal_range</a> (<a class="el" href="classrttr_1_1argument.html">argument</a> key)</td></tr> <tr class="memdesc:a59c011d81b150ecaf467544ce9b7a23e"><td class="mdescLeft"> </td><td class="mdescRight">Returns a range containing all elements with the given <code>key</code> in the container. <a href="#a59c011d81b150ecaf467544ce9b7a23e">More...</a><br /></td></tr> <tr class="separator:a59c011d81b150ecaf467544ce9b7a23e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a97db97bcf1ffaeab5e9fd9ed98b1539e"><td class="memItemLeft" align="right" valign="top">std::size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a97db97bcf1ffaeab5e9fd9ed98b1539e">erase</a> (<a class="el" href="classrttr_1_1argument.html">argument</a> key)</td></tr> <tr class="memdesc:a97db97bcf1ffaeab5e9fd9ed98b1539e"><td class="mdescLeft"> </td><td class="mdescRight">Removes the element (if one exists) with the key equivalent to <code>key</code>. <a href="#a97db97bcf1ffaeab5e9fd9ed98b1539e">More...</a><br /></td></tr> <tr class="separator:a97db97bcf1ffaeab5e9fd9ed98b1539e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0ed8049087f55050f1297302b87ff7c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a0ed8049087f55050f1297302b87ff7c0">find</a> (<a class="el" href="classrttr_1_1argument.html">argument</a> key)</td></tr> <tr class="memdesc:a0ed8049087f55050f1297302b87ff7c0"><td class="mdescLeft"> </td><td class="mdescRight">Finds an element with specific key <code>key</code> . <a href="#a0ed8049087f55050f1297302b87ff7c0">More...</a><br /></td></tr> <tr class="separator:a0ed8049087f55050f1297302b87ff7c0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5664ffb8530ef5eaee99120d929290fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrttr_1_1type.html">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a5664ffb8530ef5eaee99120d929290fe">get_key_type</a> () const noexcept</td></tr> <tr class="memdesc:a5664ffb8530ef5eaee99120d929290fe"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="classrttr_1_1type.html">type</a> from the key of this associative container. <a href="#a5664ffb8530ef5eaee99120d929290fe">More...</a><br /></td></tr> <tr class="separator:a5664ffb8530ef5eaee99120d929290fe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9b6438cc91b38518cbf6457997904b46"><td class="memItemLeft" align="right" valign="top">std::size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a9b6438cc91b38518cbf6457997904b46">get_size</a> () const noexcept</td></tr> <tr class="memdesc:a9b6438cc91b38518cbf6457997904b46"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of elements in the associative container. <a href="#a9b6438cc91b38518cbf6457997904b46">More...</a><br /></td></tr> <tr class="separator:a9b6438cc91b38518cbf6457997904b46"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aae680a320082edd47f27a12fb78a4880"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrttr_1_1type.html">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#aae680a320082edd47f27a12fb78a4880">get_type</a> () const noexcept</td></tr> <tr class="memdesc:aae680a320082edd47f27a12fb78a4880"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="classrttr_1_1type.html">type</a> object of this associative container. <a href="#aae680a320082edd47f27a12fb78a4880">More...</a><br /></td></tr> <tr class="separator:aae680a320082edd47f27a12fb78a4880"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aac7253214126d3e8d463ea5eb970fe56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrttr_1_1type.html">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#aac7253214126d3e8d463ea5eb970fe56">get_value_type</a> () const noexcept</td></tr> <tr class="memdesc:aac7253214126d3e8d463ea5eb970fe56"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="classrttr_1_1type.html">type</a> object from the value of this associative container. <a href="#aac7253214126d3e8d463ea5eb970fe56">More...</a><br /></td></tr> <tr class="separator:aac7253214126d3e8d463ea5eb970fe56"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6a3efc23addf1f4d4ee1f0d31eaf876c"><td class="memItemLeft" align="right" valign="top">std::pair< <a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a>, bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a6a3efc23addf1f4d4ee1f0d31eaf876c">insert</a> (<a class="el" href="classrttr_1_1argument.html">argument</a> key)</td></tr> <tr class="memdesc:a6a3efc23addf1f4d4ee1f0d31eaf876c"><td class="mdescLeft"> </td><td class="mdescRight">Insert a key into the container. <a href="#a6a3efc23addf1f4d4ee1f0d31eaf876c">More...</a><br /></td></tr> <tr class="separator:a6a3efc23addf1f4d4ee1f0d31eaf876c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11d707aeb1a0d418073fcf4dc521a3bb"><td class="memItemLeft" align="right" valign="top">std::pair< <a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a>, bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a11d707aeb1a0d418073fcf4dc521a3bb">insert</a> (<a class="el" href="classrttr_1_1argument.html">argument</a> key, <a class="el" href="classrttr_1_1argument.html">argument</a> <a class="el" href="namespacerttr.html#a54ecd8bad715cbc451e7aa8491667d4a">value</a>)</td></tr> <tr class="memdesc:a11d707aeb1a0d418073fcf4dc521a3bb"><td class="mdescLeft"> </td><td class="mdescRight">Insert a key-value pair into the container. <a href="#a11d707aeb1a0d418073fcf4dc521a3bb">More...</a><br /></td></tr> <tr class="separator:a11d707aeb1a0d418073fcf4dc521a3bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a821c304c63aa32045c04b92b412da08c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a821c304c63aa32045c04b92b412da08c">is_empty</a> () const noexcept</td></tr> <tr class="memdesc:a821c304c63aa32045c04b92b412da08c"><td class="mdescLeft"> </td><td class="mdescRight">Checks if the container has no elements. <a href="#a821c304c63aa32045c04b92b412da08c">More...</a><br /></td></tr> <tr class="separator:a821c304c63aa32045c04b92b412da08c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a54402625e4287567c1141ba1eb13eeb5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a54402625e4287567c1141ba1eb13eeb5">is_key_only_type</a> () const noexcept</td></tr> <tr class="memdesc:a54402625e4287567c1141ba1eb13eeb5"><td class="mdescLeft"> </td><td class="mdescRight">Returns <code>true</code>, when this associative container stores only keys. <a href="#a54402625e4287567c1141ba1eb13eeb5">More...</a><br /></td></tr> <tr class="separator:a54402625e4287567c1141ba1eb13eeb5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae5cc73903f1f07307f422a2b03eab552"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#ae5cc73903f1f07307f422a2b03eab552">is_valid</a> () const noexcept</td></tr> <tr class="memdesc:ae5cc73903f1f07307f422a2b03eab552"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if this <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> is valid, that means the object is holding some data. <a href="#ae5cc73903f1f07307f422a2b03eab552">More...</a><br /></td></tr> <tr class="separator:ae5cc73903f1f07307f422a2b03eab552"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9091edc2897ea2eca55534fb782fa3f7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a9091edc2897ea2eca55534fb782fa3f7">operator bool</a> () const noexcept</td></tr> <tr class="memdesc:a9091edc2897ea2eca55534fb782fa3f7"><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to check if this <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> is valid or not. <a href="#a9091edc2897ea2eca55534fb782fa3f7">More...</a><br /></td></tr> <tr class="separator:a9091edc2897ea2eca55534fb782fa3f7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6daa21493e030bfc800da7bb55d385ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#a6daa21493e030bfc800da7bb55d385ef">operator=</a> (const <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> &other) noexcept</td></tr> <tr class="memdesc:a6daa21493e030bfc800da7bb55d385ef"><td class="mdescLeft"> </td><td class="mdescRight">Assigns the value of the <em>other</em> <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> to this <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a>. <a href="#a6daa21493e030bfc800da7bb55d385ef">More...</a><br /></td></tr> <tr class="separator:a6daa21493e030bfc800da7bb55d385ef"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeef08c71cfb79f7e57d4f2e33336e3eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1variant__associative__view.html#aeef08c71cfb79f7e57d4f2e33336e3eb">swap</a> (<a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> &other) noexcept</td></tr> <tr class="memdesc:aeef08c71cfb79f7e57d4f2e33336e3eb"><td class="mdescLeft"> </td><td class="mdescRight">Swaps this <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> with the <em>other</em> <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a>. <a href="#aeef08c71cfb79f7e57d4f2e33336e3eb">More...</a><br /></td></tr> <tr class="separator:aeef08c71cfb79f7e57d4f2e33336e3eb"><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 <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> describes a class that refers to an <a href="https://en.wikipedia.org/wiki/Associative_containers" target="_blank">associative container</a> (e.g: <code>std::map</code>) inside a <a class="el" href="classrttr_1_1variant.html">variant</a>. </p> <p>With an instance of that class you can set/get values of such container, without having access to the type declaration of the type or it's elements.</p> <p>A <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> can be created directly from a <a class="el" href="classrttr_1_1variant.html">variant</a> with its member function <a class="el" href="classrttr_1_1variant.html#a797610655507c3bbd1383dd44d967463">create_associative_view()</a>. </p><dl class="section remark"><dt>Remarks</dt><dd>The instance of an <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> is always valid as long as the referenced <a class="el" href="classrttr_1_1variant.html">variant</a> is valid, otherwise accessing a <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> is undefined behaviour.</dd></dl> <h2>Meta Information </h2> <p>RTTR recognize whether a type is an associative container or not with the help of the <a class="el" href="structrttr_1_1associative__container__mapper.html">associative_container_mapper</a> class template. This call can access different container types via one common interface. At the moment there exist specializations for following types: <code>std::set<Key></code>, <code>std::map<Key, T></code>, <code>std::multiset<Key></code>, <code>std::multimap<Key, T></code>, <code>std::unordered_set<Key></code>, <code>std::unordered_map<Key, T></code>, <code>std::unordered_multiset<Key></code> and <code>std::unordered_multimap<Key, T></code>.</p> <h2>Copying and Assignment </h2> <p>A <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> object can be copied and assigned, however each copy will reference the data of same underlying <a class="el" href="classrttr_1_1variant.html">variant</a> value.</p> <h2>Typical Usage </h2> <div class="fragment"><div class="line">std::map<int, std::string> my_map = { { 1, <span class="stringliteral">"one"</span> }, { 2, <span class="stringliteral">"two"</span> }, { 3, <span class="stringliteral">"three"</span> } };</div><div class="line"><a class="code" href="classrttr_1_1variant__associative__view.html#ad4f13d06475a06f860c63bc68d0c8a4b">variant</a> var = my_map;</div><div class="line"><span class="keywordflow">if</span> (var.is_associative_container())</div><div class="line">{</div><div class="line"> <a class="code" href="classrttr_1_1variant__associative__view.html#a2988a0bb2d65876f20abf37e3a8b7078">variant_associative_view</a> view = var.create_associative_view();</div><div class="line"> std::cout << view.get_size() << std::endl; <span class="comment">// prints: '3'</span></div><div class="line"> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& item : view)</div><div class="line"> {</div><div class="line"> <span class="comment">// remark that the key and value are stored inside a 'std::reference_wrapper'</span></div><div class="line"> std::cout << <span class="stringliteral">"Key: "</span> << item.first.extract_wrapped_value().to_string() << <span class="stringliteral">" "</span>;</div><div class="line"> std::cout << <span class="stringliteral">"Value: "</span> << item.second.extract_wrapped_value().to_string() << std::endl;</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="classrttr_1_1variant.html" title="The variant class allows to store data of any type and convert between these types transparently.">variant</a> </dd></dl> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="a2988a0bb2d65876f20abf37e3a8b7078"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2988a0bb2d65876f20abf37e3a8b7078">◆ </a></span>variant_associative_view() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">rttr::variant_associative_view::variant_associative_view </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Constructs an invalid <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> object. </p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="classrttr_1_1variant__associative__view.html#ae5cc73903f1f07307f422a2b03eab552" title="Returns true if this variant_associative_view is valid, that means the object is holding some data.">is_valid()</a> </dd></dl> </div> </div> <a id="a3ba9357e415624b7fe33d30f9d2a8384"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3ba9357e415624b7fe33d30f9d2a8384">◆ </a></span>variant_associative_view() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">rttr::variant_associative_view::variant_associative_view </td> <td>(</td> <td class="paramtype">const <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> & </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Constructs a copy of the given <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> <code>other</code>. </p> </div> </div> <a id="a89fbfb6739fbc1bbcb9a4667fa8f0366"></a> <h2 class="memtitle"><span class="permalink"><a href="#a89fbfb6739fbc1bbcb9a4667fa8f0366">◆ </a></span>~variant_associative_view()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">rttr::variant_associative_view::~variant_associative_view </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Destroys the <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a>. </p> <dl class="section remark"><dt>Remarks</dt><dd>The underlying data is not destroyed. </dd></dl> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="a3e101465c9cc48a3899d7c6d2ba1d6b3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3e101465c9cc48a3899d7c6d2ba1d6b3">◆ </a></span>begin()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a> rttr::variant_associative_view::begin </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Returns an iterator to the first element of the container. </p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="classrttr_1_1variant__associative__view.html#a394316f0ca21525dd75371fc64220bb7" title="Returns an iterator to the element following the last element of the container.">end()</a></dd></dl> <dl class="section return"><dt>Returns</dt><dd>Iterator to the first element . </dd></dl> </div> </div> <a id="afd8bddb25e0cbc400087466dc3e1bbe8"></a> <h2 class="memtitle"><span class="permalink"><a href="#afd8bddb25e0cbc400087466dc3e1bbe8">◆ </a></span>clear()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void rttr::variant_associative_view::clear </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Removes all elements from the container. </p> <dl class="section remark"><dt>Remarks</dt><dd>Invalidates all references, pointers, or iterators referring to contained elements. </dd></dl> </div> </div> <a id="a394316f0ca21525dd75371fc64220bb7"></a> <h2 class="memtitle"><span class="permalink"><a href="#a394316f0ca21525dd75371fc64220bb7">◆ </a></span>end()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a> rttr::variant_associative_view::end </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Returns an iterator to the element following the last element of the container. </p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="classrttr_1_1variant__associative__view.html#a3e101465c9cc48a3899d7c6d2ba1d6b3" title="Returns an iterator to the first element of the container.">begin()</a></dd></dl> <dl class="section return"><dt>Returns</dt><dd>Iterator to the element following the last element. </dd></dl> </div> </div> <a id="a59c011d81b150ecaf467544ce9b7a23e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a59c011d81b150ecaf467544ce9b7a23e">◆ </a></span>equal_range()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::pair<<a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a>, <a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a>> rttr::variant_associative_view::equal_range </td> <td>(</td> <td class="paramtype"><a class="el" href="classrttr_1_1argument.html">argument</a> </td> <td class="paramname"><em>key</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns a range containing all elements with the given <code>key</code> in the container. </p> <p>Example code: </p><div class="fragment"><div class="line"><span class="keyword">auto</span> multimap = std::multimap<int, std::string>{ { 1, <span class="stringliteral">"A"</span> }, { 2, <span class="stringliteral">"B"</span> }, { 2, <span class="stringliteral">"C"</span>}, { 2, <span class="stringliteral">"D"</span> },</div><div class="line"> { 3, <span class="stringliteral">"E"</span> }, { 3, <span class="stringliteral">"F"</span> } };</div><div class="line"></div><div class="line"><a class="code" href="classrttr_1_1variant__associative__view.html#ad4f13d06475a06f860c63bc68d0c8a4b">variant</a> var = multimap;</div><div class="line"></div><div class="line"><span class="keyword">auto</span> view = var.create_associative_view();</div><div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i <= 3; ++i)</div><div class="line">{</div><div class="line"> std::cout << i << <span class="stringliteral">" =>"</span>;</div><div class="line"> <span class="keyword">auto</span> range = view.equal_range(i);</div><div class="line"> <span class="keywordflow">for</span> (<span class="keyword">auto</span> itr = range.first; itr != range.second; ++itr)</div><div class="line"> {</div><div class="line"> std::cout << <span class="stringliteral">" "</span> << itr.value().extract_wrapped_value().to_string();</div><div class="line"> }</div><div class="line"> std::cout << std::endl;</div><div class="line">}</div></div><!-- fragment --><p>Output: </p><div class="fragment"><div class="line">1 => A</div><div class="line">2 => B C D</div><div class="line">3 => E, F</div></div><!-- fragment --><dl class="section return"><dt>Returns</dt><dd>std::pair containing a pair of iterators defining the wanted range: the first pointing to the first element that is not less than <code>key</code> and the second pointing to the first element greater than <code>key</code>. </dd></dl> </div> </div> <a id="a97db97bcf1ffaeab5e9fd9ed98b1539e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a97db97bcf1ffaeab5e9fd9ed98b1539e">◆ </a></span>erase()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::size_t rttr::variant_associative_view::erase </td> <td>(</td> <td class="paramtype"><a class="el" href="classrttr_1_1argument.html">argument</a> </td> <td class="paramname"><em>key</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Removes the element (if one exists) with the key equivalent to <code>key</code>. </p> <dl class="section return"><dt>Returns</dt><dd>The number of elements removed. </dd></dl> </div> </div> <a id="a0ed8049087f55050f1297302b87ff7c0"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0ed8049087f55050f1297302b87ff7c0">◆ </a></span>find()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a> rttr::variant_associative_view::find </td> <td>(</td> <td class="paramtype"><a class="el" href="classrttr_1_1argument.html">argument</a> </td> <td class="paramname"><em>key</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Finds an element with specific key <code>key</code> . </p> <dl class="section return"><dt>Returns</dt><dd>The element with key equivalent to <code>key</code>. If no element is found an invalid iterator is returned. </dd></dl> </div> </div> <a id="a5664ffb8530ef5eaee99120d929290fe"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5664ffb8530ef5eaee99120d929290fe">◆ </a></span>get_key_type()</h2> <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="classrttr_1_1type.html">type</a> rttr::variant_associative_view::get_key_type </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the <a class="el" href="classrttr_1_1type.html">type</a> from the key of this associative container. </p> <dl class="section remark"><dt>Remarks</dt><dd>When the view is not valid, this function will return an invalid type object.</dd></dl> <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classrttr_1_1type.html">Type</a> from the key of the associative container. </dd></dl> </div> </div> <a id="a9b6438cc91b38518cbf6457997904b46"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9b6438cc91b38518cbf6457997904b46">◆ </a></span>get_size()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::size_t rttr::variant_associative_view::get_size </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the number of elements in the associative container. </p> <dl class="section return"><dt>Returns</dt><dd>The number of elements in the associative container. </dd></dl> </div> </div> <a id="aae680a320082edd47f27a12fb78a4880"></a> <h2 class="memtitle"><span class="permalink"><a href="#aae680a320082edd47f27a12fb78a4880">◆ </a></span>get_type()</h2> <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="classrttr_1_1type.html">type</a> rttr::variant_associative_view::get_type </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the <a class="el" href="classrttr_1_1type.html">type</a> object of this associative container. </p> <dl class="section remark"><dt>Remarks</dt><dd>When the view is not valid, this function will return an invalid type object.</dd></dl> <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classrttr_1_1type.html">Type</a> of the associative container. </dd></dl> </div> </div> <a id="aac7253214126d3e8d463ea5eb970fe56"></a> <h2 class="memtitle"><span class="permalink"><a href="#aac7253214126d3e8d463ea5eb970fe56">◆ </a></span>get_value_type()</h2> <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="classrttr_1_1type.html">type</a> rttr::variant_associative_view::get_value_type </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the <a class="el" href="classrttr_1_1type.html">type</a> object from the value of this associative container. </p> <dl class="section remark"><dt>Remarks</dt><dd>When the view is not valid, this function will return an invalid type object.</dd></dl> <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classrttr_1_1type.html">Type</a> from the value of the associative container. </dd></dl> </div> </div> <a id="a6a3efc23addf1f4d4ee1f0d31eaf876c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6a3efc23addf1f4d4ee1f0d31eaf876c">◆ </a></span>insert() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::pair<<a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a>, bool> rttr::variant_associative_view::insert </td> <td>(</td> <td class="paramtype"><a class="el" href="classrttr_1_1argument.html">argument</a> </td> <td class="paramname"><em>key</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Insert a key into the container. </p> <dl class="section return"><dt>Returns</dt><dd>A pair consisting of an iterator to the inserted element (or to the element that prevented the insertion) and a bool denoting whether the insertion took place. </dd></dl> </div> </div> <a id="a11d707aeb1a0d418073fcf4dc521a3bb"></a> <h2 class="memtitle"><span class="permalink"><a href="#a11d707aeb1a0d418073fcf4dc521a3bb">◆ </a></span>insert() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::pair<<a class="el" href="classrttr_1_1variant__associative__view_1_1const__iterator.html">const_iterator</a>, bool> rttr::variant_associative_view::insert </td> <td>(</td> <td class="paramtype"><a class="el" href="classrttr_1_1argument.html">argument</a> </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classrttr_1_1argument.html">argument</a> </td> <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Insert a key-value pair into the container. </p> <dl class="section return"><dt>Returns</dt><dd>A pair consisting of an iterator to the inserted element (or to the element that prevented the insertion) and a bool denoting whether the insertion took place. </dd></dl> </div> </div> <a id="a821c304c63aa32045c04b92b412da08c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a821c304c63aa32045c04b92b412da08c">◆ </a></span>is_empty()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool rttr::variant_associative_view::is_empty </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Checks if the container has no elements. </p> <dl class="section return"><dt>Returns</dt><dd><code>true</code> if container is empty, otherwise <code>false</code>. </dd></dl> </div> </div> <a id="a54402625e4287567c1141ba1eb13eeb5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a54402625e4287567c1141ba1eb13eeb5">◆ </a></span>is_key_only_type()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool rttr::variant_associative_view::is_key_only_type </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns <code>true</code>, when this associative container stores only keys. </p> <p>When also value are stored, it will return <code>false</code>.</p> <p>For example an <code>std::set</code> has no values, it's a key-only associative container. Then this method returns <code>true</code>. An <code>std::map<K,V></code> on the other hand contains keys and values. So this method will then return <code>false</code>. A simple convenience method instead of calling: <code><a class="el" href="classrttr_1_1variant__associative__view.html#aac7253214126d3e8d463ea5eb970fe56" title="Returns the type object from the value of this associative container.">get_value_type()</a>.<a class="el" href="classrttr_1_1variant__associative__view.html#ae5cc73903f1f07307f422a2b03eab552" title="Returns true if this variant_associative_view is valid, that means the object is holding some data.">is_valid()</a> == false;</code></p> <dl class="section return"><dt>Returns</dt><dd><code>true</code>, when this associative container stores only keys; otherwise <code>false</code>. </dd></dl> </div> </div> <a id="ae5cc73903f1f07307f422a2b03eab552"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae5cc73903f1f07307f422a2b03eab552">◆ </a></span>is_valid()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool rttr::variant_associative_view::is_valid </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns true if this <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> is valid, that means the object is holding some data. </p> <p>When the <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> doesn't hold any data it will return false.</p> <dl class="section return"><dt>Returns</dt><dd>True if this <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> is valid, otherwise false. </dd></dl> </div> </div> <a id="a9091edc2897ea2eca55534fb782fa3f7"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9091edc2897ea2eca55534fb782fa3f7">◆ </a></span>operator bool()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">rttr::variant_associative_view::operator bool </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">explicit</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Convenience function to check if this <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> is valid or not. </p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="classrttr_1_1variant__associative__view.html#ae5cc73903f1f07307f422a2b03eab552" title="Returns true if this variant_associative_view is valid, that means the object is holding some data.">is_valid()</a></dd></dl> <dl class="section return"><dt>Returns</dt><dd>True if this <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</a> is valid, otherwise false. </dd></dl> </div> </div> <a id="a6daa21493e030bfc800da7bb55d385ef"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6daa21493e030bfc800da7bb55d385ef">◆ </a></span>operator=()</h2> <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="classrttr_1_1variant__associative__view.html">variant_associative_view</a>& rttr::variant_associative_view::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</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">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Assigns the value of the <em>other</em> <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> to this <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a>. </p> <dl class="section return"><dt>Returns</dt><dd>A reference to the <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> with the new data. </dd></dl> </div> </div> <a id="aeef08c71cfb79f7e57d4f2e33336e3eb"></a> <h2 class="memtitle"><span class="permalink"><a href="#aeef08c71cfb79f7e57d4f2e33336e3eb">◆ </a></span>swap()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void rttr::variant_associative_view::swap </td> <td>(</td> <td class="paramtype"><a class="el" href="classrttr_1_1variant__associative__view.html">variant_associative_view</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">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Swaps this <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a> with the <em>other</em> <a class="el" href="classrttr_1_1variant__associative__view.html" title="The variant_associative_view describes a class that refers to an associative container (e....">variant_associative_view</a>. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="variant__associative__view_8h_source.html">variant_associative_view.h</a></li> </ul> </div><!-- contents --> <!-- HTML footer for doxygen 1.8.9.1--> <!-- start footer part --> <hr class="footer"/> <address class="footer"> <small> Generated on Thu Apr 11 2019 20:06:00 for rttr - 0.9.6 by <a href="http://www.doxygen.org/index.html">doxygen</a>. </small> </address> </body> </html>