]> git.tdb.fi Git - ext/sigc++-2.0.git/blob - untracked/docs/reference/html/structsigc_1_1visitor.html
Import libsigc++ 2.10.8 sources
[ext/sigc++-2.0.git] / untracked / docs / reference / html / structsigc_1_1visitor.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.9.1"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>libsigc++: sigc::visitor&lt; T_functor &gt; Struct Template Reference</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="doxygen.css" rel="stylesheet" type="text/css" />
13 <link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
14 </head>
15 <body>
16 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
17 <div id="titlearea">
18 <table cellspacing="0" cellpadding="0">
19  <tbody>
20  <tr style="height: 56px;">
21   <td id="projectalign" style="padding-left: 0.5em;">
22    <div id="projectname">libsigc++
23    &#160;<span id="projectnumber">2.10.8</span>
24    </div>
25   </td>
26  </tr>
27  </tbody>
28 </table>
29 </div>
30 <!-- end header part -->
31 <!-- Generated by Doxygen 1.9.1 -->
32 <script type="text/javascript" src="menudata.js"></script>
33 <script type="text/javascript" src="menu.js"></script>
34 <script type="text/javascript">
35 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
36 $(function() {
37   initMenu('',false,false,'search.php','Search');
38 });
39 /* @license-end */</script>
40 <div id="main-nav"></div>
41 <div id="nav-path" class="navpath">
42   <ul>
43 <li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1visitor.html">visitor</a></li>  </ul>
44 </div>
45 </div><!-- top -->
46 <div class="header">
47   <div class="summary">
48 <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
49 <a href="structsigc_1_1visitor-members.html">List of all members</a>  </div>
50   <div class="headertitle">
51 <div class="title">sigc::visitor&lt; T_functor &gt; Struct Template Reference<div class="ingroups"><a class="el" href="group__sigcfunctors.html">Functors</a></div></div>  </div>
52 </div><!--header-->
53 <div class="contents">
54
55 <p><a class="el" href="structsigc_1_1visitor.html#a9fe5d6be845e622a99a0db5d3621d4b3">sigc::visitor&lt;T_functor&gt;::do_visit_each()</a> performs a functor on each of the targets of a functor.  
56  <a href="structsigc_1_1visitor.html#details">More...</a></p>
57
58 <p><code>#include &lt;sigc++/visit_each.h&gt;</code></p>
59 <table class="memberdecls">
60 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
61 Static Public Member Functions</h2></td></tr>
62 <tr class="memitem:a9fe5d6be845e622a99a0db5d3621d4b3"><td class="memTemplParams" colspan="2">template&lt;class T_action &gt; </td></tr>
63 <tr class="memitem:a9fe5d6be845e622a99a0db5d3621d4b3"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1visitor.html#a9fe5d6be845e622a99a0db5d3621d4b3">do_visit_each</a> (const T_action &amp; _A_action, const T_functor &amp; _A_functor)</td></tr>
64 <tr class="separator:a9fe5d6be845e622a99a0db5d3621d4b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
65 </table>
66 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
67 <div class="textblock"><h3>template&lt;class T_functor&gt;<br />
68 struct sigc::visitor&lt; T_functor &gt;</h3>
69
70 <p><a class="el" href="structsigc_1_1visitor.html#a9fe5d6be845e622a99a0db5d3621d4b3">sigc::visitor&lt;T_functor&gt;::do_visit_each()</a> performs a functor on each of the targets of a functor. </p>
71 <p>All unknown types just call <em>_A_action</em> on them. Add specializations that specialize the <em>T_functor</em> argument for your own functor types, so that subobjects get visited. This is needed to enable auto-disconnection support for your functor types.</p>
72 <dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="keyword">namespace </span>some_ns</div>
73 <div class="line">{</div>
74 <div class="line">  <span class="keyword">struct </span>some_functor</div>
75 <div class="line">  {</div>
76 <div class="line">    <span class="keywordtype">void</span> operator()() {}</div>
77 <div class="line">    some_possibly_sigc_trackable_derived_type some_data_member;</div>
78 <div class="line">    some_other_functor_type some_other_functor;</div>
79 <div class="line">  };</div>
80 <div class="line">}</div>
81 <div class="line"> </div>
82 <div class="line"><span class="keyword">namespace </span><a class="code" href="namespacesigc.html">sigc</a></div>
83 <div class="line">{</div>
84 <div class="line">  <span class="keyword">template</span> &lt;&gt;</div>
85 <div class="line">  <span class="keyword">struct </span>visitor&lt;some_ns::some_functor&gt;</div>
86 <div class="line">  {</div>
87 <div class="line">    <span class="keyword">template</span> &lt;<span class="keyword">class</span> T_action&gt;</div>
88 <div class="line">    <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structsigc_1_1visitor.html#a9fe5d6be845e622a99a0db5d3621d4b3">do_visit_each</a>(<span class="keyword">const</span> T_action&amp; _A_action,</div>
89 <div class="line">                              <span class="keyword">const</span> some_ns::some_functor&amp; _A_target)</div>
90 <div class="line">    {</div>
91 <div class="line">      <a class="code" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404">sigc::visit_each</a>(_A_action, _A_target.some_data_member);</div>
92 <div class="line">      <a class="code" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404">sigc::visit_each</a>(_A_action, _A_target.some_other_functor);</div>
93 <div class="line">    }</div>
94 <div class="line">  };</div>
95 <div class="line">}</div>
96 <div class="ttc" id="agroup__sigcfunctors_html_ga64cb7832acc1e58efb5ffe0b4f5e9404"><div class="ttname"><a href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404">sigc::visit_each</a></div><div class="ttdeci">void visit_each(const T_action &amp;_A_action, const T_functor &amp;_A_functor)</div><div class="ttdoc">This function performs a functor on each of the targets of a functor.</div><div class="ttdef"><b>Definition:</b> visit_each.h:169</div></div>
97 <div class="ttc" id="anamespacesigc_html"><div class="ttname"><a href="namespacesigc.html">sigc</a></div><div class="ttdoc">The libsigc++ namespace.</div><div class="ttdef"><b>Definition:</b> limit_reference.h:12</div></div>
98 <div class="ttc" id="astructsigc_1_1visitor_html_a9fe5d6be845e622a99a0db5d3621d4b3"><div class="ttname"><a href="structsigc_1_1visitor.html#a9fe5d6be845e622a99a0db5d3621d4b3">sigc::visitor::do_visit_each</a></div><div class="ttdeci">static void do_visit_each(const T_action &amp;_A_action, const T_functor &amp;_A_functor)</div><div class="ttdef"><b>Definition:</b> visit_each.h:158</div></div>
99 </div><!-- fragment --> </dd></dl>
100 </div><h2 class="groupheader">Member Function Documentation</h2>
101 <a id="a9fe5d6be845e622a99a0db5d3621d4b3"></a>
102 <h2 class="memtitle"><span class="permalink"><a href="#a9fe5d6be845e622a99a0db5d3621d4b3">&#9670;&#160;</a></span>do_visit_each()</h2>
103
104 <div class="memitem">
105 <div class="memproto">
106 <div class="memtemplate">
107 template &lt;class T_functor &gt; </div>
108 <div class="memtemplate">
109 template &lt;class T_action &gt; </div>
110 <table class="mlabels">
111   <tr>
112   <td class="mlabels-left">
113       <table class="memname">
114         <tr>
115           <td class="memname">static void <a class="el" href="structsigc_1_1visitor.html">sigc::visitor</a>&lt; T_functor &gt;::do_visit_each </td>
116           <td>(</td>
117           <td class="paramtype">const T_action &amp;&#160;</td>
118           <td class="paramname"><em>_A_action</em>, </td>
119         </tr>
120         <tr>
121           <td class="paramkey"></td>
122           <td></td>
123           <td class="paramtype">const T_functor &amp;&#160;</td>
124           <td class="paramname"><em>_A_functor</em>&#160;</td>
125         </tr>
126         <tr>
127           <td></td>
128           <td>)</td>
129           <td></td><td></td>
130         </tr>
131       </table>
132   </td>
133   <td class="mlabels-right">
134 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
135   </tr>
136 </table>
137 </div><div class="memdoc">
138
139 </div>
140 </div>
141 </div><!-- contents -->
142 <!-- start footer part -->
143 <hr class="footer"/><address class="footer"><small>
144 Generated on Fri Feb 11 2022 15:40:59 for libsigc++ by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
145 </small></address>
146 </body>
147 </html>