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">
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< T_functor > 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"/>
16 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
18 <table cellspacing="0" cellpadding="0">
20 <tr style="height: 56px;">
21 <td id="projectalign" style="padding-left: 0.5em;">
22 <div id="projectname">libsigc++
23  <span id="projectnumber">2.10.8</span>
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&dn=gpl-2.0.txt GPL-v2 */
37 initMenu('',false,false,'search.php','Search');
39 /* @license-end */</script>
40 <div id="main-nav"></div>
41 <div id="nav-path" class="navpath">
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>
48 <a href="#pub-static-methods">Static Public Member Functions</a> |
49 <a href="structsigc_1_1visitor-members.html">List of all members</a> </div>
50 <div class="headertitle">
51 <div class="title">sigc::visitor< T_functor > Struct Template Reference<div class="ingroups"><a class="el" href="group__sigcfunctors.html">Functors</a></div></div> </div>
53 <div class="contents">
55 <p><a class="el" href="structsigc_1_1visitor.html#a9fe5d6be845e622a99a0db5d3621d4b3">sigc::visitor<T_functor>::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>
58 <p><code>#include <sigc++/visit_each.h></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<class T_action > </td></tr>
63 <tr class="memitem:a9fe5d6be845e622a99a0db5d3621d4b3"><td class="memTemplItemLeft" align="right" valign="top">static void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1visitor.html#a9fe5d6be845e622a99a0db5d3621d4b3">do_visit_each</a> (const T_action & _A_action, const T_functor & _A_functor)</td></tr>
64 <tr class="separator:a9fe5d6be845e622a99a0db5d3621d4b3"><td class="memSeparator" colspan="2"> </td></tr>
66 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
67 <div class="textblock"><h3>template<class T_functor><br />
68 struct sigc::visitor< T_functor ></h3>
70 <p><a class="el" href="structsigc_1_1visitor.html#a9fe5d6be845e622a99a0db5d3621d4b3">sigc::visitor<T_functor>::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> <></div>
85 <div class="line"> <span class="keyword">struct </span>visitor<some_ns::some_functor></div>
86 <div class="line"> {</div>
87 <div class="line"> <span class="keyword">template</span> <<span class="keyword">class</span> T_action></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& _A_action,</div>
89 <div class="line"> <span class="keyword">const</span> some_ns::some_functor& _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 &_A_action, const T_functor &_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 &_A_action, const T_functor &_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">◆ </a></span>do_visit_each()</h2>
104 <div class="memitem">
105 <div class="memproto">
106 <div class="memtemplate">
107 template <class T_functor > </div>
108 <div class="memtemplate">
109 template <class T_action > </div>
110 <table class="mlabels">
112 <td class="mlabels-left">
113 <table class="memname">
115 <td class="memname">static void <a class="el" href="structsigc_1_1visitor.html">sigc::visitor</a>< T_functor >::do_visit_each </td>
117 <td class="paramtype">const T_action & </td>
118 <td class="paramname"><em>_A_action</em>, </td>
121 <td class="paramkey"></td>
123 <td class="paramtype">const T_functor & </td>
124 <td class="paramname"><em>_A_functor</em> </td>
133 <td class="mlabels-right">
134 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
137 </div><div class="memdoc">
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 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1