1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.9.1"/>
7 <title>libsigc++: sigc::compose1_functor< T_setter, T_getter > Struct Template Reference</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script>
10 <script type="text/javascript" src="dynsections.js"></script>
11 <link href="doxygen.css" rel="stylesheet" type="text/css" />
12 <link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
15 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
17 <table cellspacing="0" cellpadding="0">
19 <tr style="height: 56px;">
20 <td style="padding-left: 0.5em;">
21 <div id="projectname">libsigc++
22  <span id="projectnumber">2.99.2</span>
29 <!-- end header part -->
30 <!-- Generated by Doxygen 1.8.9.1 -->
31 <div id="navrow1" class="tabs">
33 <li><a href="index.html"><span>Main Page</span></a></li>
34 <li><a href="pages.html"><span>Related Pages</span></a></li>
35 <li><a href="modules.html"><span>Modules</span></a></li>
36 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
37 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
40 <div id="navrow2" class="tabs2">
42 <li><a href="annotated.html"><span>Class List</span></a></li>
43 <li><a href="classes.html"><span>Class Index</span></a></li>
44 <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
45 <li><a href="functions.html"><span>Class Members</span></a></li>
48 <div id="nav-path" class="navpath">
50 <li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1compose1__functor.html">compose1_functor</a></li> </ul>
55 <a href="#pub-types">Public Types</a> |
56 <a href="#pub-methods">Public Member Functions</a> |
57 <a href="#pub-attribs">Public Attributes</a> |
58 <a href="structsigc_1_1compose1__functor-members.html">List of all members</a> </div>
59 <div class="headertitle">
60 <div class="title">sigc::compose1_functor< T_setter, T_getter > Struct Template Reference<div class="ingroups"><a class="el" href="group__adaptors.html">Adaptors</a> » <a class="el" href="group__compose.html">compose()</a></div></div> </div>
62 <div class="contents">
64 <p>Adaptor that combines two functors.
65 <a href="structsigc_1_1compose1__functor.html#details">More...</a></p>
67 <p><code>#include <sigc++/adaptors/compose.h></code></p>
68 <div class="dynheader">
69 Inheritance diagram for sigc::compose1_functor< T_setter, T_getter >:</div>
70 <div class="dyncontent">
71 <div class="center"><img src="structsigc_1_1compose1__functor__inherit__graph.png" border="0" usemap="#sigc_1_1compose1__functor_3_01T__setter_00_01T__getter_01_4_inherit__map" alt="Inheritance graph"/></div>
72 <map name="sigc_1_1compose1__functor_3_01T__setter_00_01T__getter_01_4_inherit__map" id="sigc_1_1compose1__functor_3_01T__setter_00_01T__getter_01_4_inherit__map">
73 <area shape="rect" id="node2" href="structsigc_1_1adapts.html" title="sigc::adapts\< T_setter \>" alt="" coords="5,155,187,181"/><area shape="rect" id="node3" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="25,80,167,107"/><area shape="rect" id="node4" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="27,5,165,32"/></map>
74 <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
75 <table class="memberdecls">
76 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
77 Public Types</h2></td></tr>
78 <tr class="memitem:aebc7b32926c215a7786866d290bbc301"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html#aebc7b32926c215a7786866d290bbc301">adaptor_type</a> = typename <a class="el" href="structsigc_1_1adapts.html">adapts</a>< T_setter >::<a class="el" href="structsigc_1_1compose1__functor.html#aebc7b32926c215a7786866d290bbc301">adaptor_type</a></td></tr>
79 <tr class="separator:aebc7b32926c215a7786866d290bbc301"><td class="memSeparator" colspan="2"> </td></tr>
80 <tr class="memitem:ae7a961401a71b60eedca11157de55fc0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html#ae7a961401a71b60eedca11157de55fc0">getter_type</a> = T_getter</td></tr>
81 <tr class="separator:ae7a961401a71b60eedca11157de55fc0"><td class="memSeparator" colspan="2"> </td></tr>
82 <tr class="memitem:aedc6b577f320b08eb9a087494961edb5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html#aedc6b577f320b08eb9a087494961edb5">result_type</a> = typename adaptor_type::result_type</td></tr>
83 <tr class="separator:aedc6b577f320b08eb9a087494961edb5"><td class="memSeparator" colspan="2"> </td></tr>
84 <tr class="memitem:abab9dd3ad04a4ecb007dec3356d5c79e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html#abab9dd3ad04a4ecb007dec3356d5c79e">setter_type</a> = T_setter</td></tr>
85 <tr class="separator:abab9dd3ad04a4ecb007dec3356d5c79e"><td class="memSeparator" colspan="2"> </td></tr>
86 <tr class="inherit_header pub_types_structsigc_1_1adapts"><td colspan="2" onclick="javascript:toggleInherit('pub_types_structsigc_1_1adapts')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="structsigc_1_1adapts.html">sigc::adapts< T_setter ></a></td></tr>
87 <tr class="memitem:a944f414e6d1a98cf42aa48e82b52a079 inherit pub_types_structsigc_1_1adapts"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1adapts.html#a944f414e6d1a98cf42aa48e82b52a079">adaptor_type</a> = typename <a class="el" href="structsigc_1_1adaptor__trait.html">adaptor_trait</a>< T_setter >::<a class="el" href="structsigc_1_1adapts.html#a944f414e6d1a98cf42aa48e82b52a079">adaptor_type</a></td></tr>
88 <tr class="separator:a944f414e6d1a98cf42aa48e82b52a079 inherit pub_types_structsigc_1_1adapts"><td class="memSeparator" colspan="2"> </td></tr>
89 <tr class="memitem:a4514810fc2ec4e274748d8970a7052e2 inherit pub_types_structsigc_1_1adapts"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1adapts.html#a4514810fc2ec4e274748d8970a7052e2">result_type</a> = typename <a class="el" href="structsigc_1_1adaptor__trait.html">adaptor_trait</a>< T_setter >::<a class="el" href="structsigc_1_1adapts.html#a4514810fc2ec4e274748d8970a7052e2">result_type</a></td></tr>
90 <tr class="separator:a4514810fc2ec4e274748d8970a7052e2 inherit pub_types_structsigc_1_1adapts"><td class="memSeparator" colspan="2"> </td></tr>
91 </table><table class="memberdecls">
92 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
93 Public Member Functions</h2></td></tr>
94 <tr class="memitem:a1bb831ebfb46a214a6ffda98e77ad044"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html#a1bb831ebfb46a214a6ffda98e77ad044">compose1_functor</a> (const T_setter& _A_setter, const T_getter& _A_getter)</td></tr>
95 <tr class="memdesc:a1bb831ebfb46a214a6ffda98e77ad044"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a <a class="el" href="structsigc_1_1compose1__functor.html" title="Adaptor that combines two functors. ">compose1_functor</a> object that combines the passed functors. <a href="#a1bb831ebfb46a214a6ffda98e77ad044">More...</a><br /></td></tr>
96 <tr class="separator:a1bb831ebfb46a214a6ffda98e77ad044"><td class="memSeparator" colspan="2"> </td></tr>
97 <tr class="memitem:aef2936bffad958b68d3f6a9bb1c54568"><td class="memItemLeft" align="right" valign="top">decltype(auto) </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html#aef2936bffad958b68d3f6a9bb1c54568">operator()</a> ()</td></tr>
98 <tr class="separator:aef2936bffad958b68d3f6a9bb1c54568"><td class="memSeparator" colspan="2"> </td></tr>
99 <tr class="memitem:a18cfb096dec206bca811ce1b098064bf"><td class="memTemplParams" colspan="2">template<class... T_arg> </td></tr>
100 <tr class="memitem:a18cfb096dec206bca811ce1b098064bf"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto) </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html#a18cfb096dec206bca811ce1b098064bf">operator()</a> (T_arg&&..._A_a)</td></tr>
101 <tr class="separator:a18cfb096dec206bca811ce1b098064bf"><td class="memSeparator" colspan="2"> </td></tr>
102 <tr class="inherit_header pub_methods_structsigc_1_1adapts"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structsigc_1_1adapts')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structsigc_1_1adapts.html">sigc::adapts< T_setter ></a></td></tr>
103 <tr class="memitem:a947b69ccbdcabd4ef4163dcab96096f8 inherit pub_methods_structsigc_1_1adapts"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1adapts.html#a947b69ccbdcabd4ef4163dcab96096f8">adapts</a> (const T_setter& _A_functor)</td></tr>
104 <tr class="memdesc:a947b69ccbdcabd4ef4163dcab96096f8 inherit pub_methods_structsigc_1_1adapts"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an adaptor that wraps the passed functor. <a href="#a947b69ccbdcabd4ef4163dcab96096f8">More...</a><br /></td></tr>
105 <tr class="separator:a947b69ccbdcabd4ef4163dcab96096f8 inherit pub_methods_structsigc_1_1adapts"><td class="memSeparator" colspan="2"> </td></tr>
106 </table><table class="memberdecls">
107 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
108 Public Attributes</h2></td></tr>
109 <tr class="memitem:abc9151caeb78b1cd79ce1eb6984dc066"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1compose1__functor.html#ae7a961401a71b60eedca11157de55fc0">getter_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html#abc9151caeb78b1cd79ce1eb6984dc066">get_</a></td></tr>
110 <tr class="separator:abc9151caeb78b1cd79ce1eb6984dc066"><td class="memSeparator" colspan="2"> </td></tr>
111 <tr class="inherit_header pub_attribs_structsigc_1_1adapts"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structsigc_1_1adapts')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="structsigc_1_1adapts.html">sigc::adapts< T_setter ></a></td></tr>
112 <tr class="memitem:a2f4b37eb160708baf17de57f2abce7a7 inherit pub_attribs_structsigc_1_1adapts"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1adapts.html#a944f414e6d1a98cf42aa48e82b52a079">adaptor_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1adapts.html#a2f4b37eb160708baf17de57f2abce7a7">functor_</a></td></tr>
113 <tr class="memdesc:a2f4b37eb160708baf17de57f2abce7a7 inherit pub_attribs_structsigc_1_1adapts"><td class="mdescLeft"> </td><td class="mdescRight">Adaptor that is invoked from operator()(). <a href="#a2f4b37eb160708baf17de57f2abce7a7">More...</a><br /></td></tr>
114 <tr class="separator:a2f4b37eb160708baf17de57f2abce7a7 inherit pub_attribs_structsigc_1_1adapts"><td class="memSeparator" colspan="2"> </td></tr>
116 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
117 <div class="textblock"><h3>template<class T_setter, class T_getter><br />
118 struct sigc::compose1_functor< T_setter, T_getter ></h3>
120 <p>Adaptor that combines two functors. </p>
121 <p>Use the convenience function <a class="el" href="group__compose.html#ga34cf5da8f6323bfdc41bc7113d6ad20a" title="Creates an adaptor of type sigc::compose1_functor which combines two functors. ">sigc::compose()</a> to create an instance of <a class="el" href="structsigc_1_1compose1__functor.html" title="Adaptor that combines two functors. ">sigc::compose1_functor</a>.</p>
122 <p>The following template arguments are used:</p><ul>
123 <li><em>T_setter</em> Type of the setter functor to wrap.</li>
124 <li><em>T_getter</em> Type of the getter functor to wrap. </li>
126 </div><h2 class="groupheader">Member Typedef Documentation</h2>
127 <a class="anchor" id="aebc7b32926c215a7786866d290bbc301"></a>
128 <div class="memitem">
129 <div class="memproto">
130 <div class="memtemplate">
131 template <class T_setter , class T_getter > </div>
132 <table class="memname">
134 <td class="memname">using <a class="el" href="structsigc_1_1compose1__functor.html">sigc::compose1_functor</a>< T_setter, T_getter >::<a class="el" href="structsigc_1_1compose1__functor.html#aebc7b32926c215a7786866d290bbc301">adaptor_type</a> = typename <a class="el" href="structsigc_1_1adapts.html">adapts</a><T_setter>::<a class="el" href="structsigc_1_1compose1__functor.html#aebc7b32926c215a7786866d290bbc301">adaptor_type</a></td>
137 </div><div class="memdoc">
141 <a class="anchor" id="ae7a961401a71b60eedca11157de55fc0"></a>
142 <div class="memitem">
143 <div class="memproto">
144 <div class="memtemplate">
145 template <class T_setter , class T_getter > </div>
146 <table class="memname">
148 <td class="memname">using <a class="el" href="structsigc_1_1compose1__functor.html">sigc::compose1_functor</a>< T_setter, T_getter >::<a class="el" href="structsigc_1_1compose1__functor.html#ae7a961401a71b60eedca11157de55fc0">getter_type</a> = T_getter</td>
151 </div><div class="memdoc">
155 <a class="anchor" id="aedc6b577f320b08eb9a087494961edb5"></a>
156 <div class="memitem">
157 <div class="memproto">
158 <div class="memtemplate">
159 template <class T_setter , class T_getter > </div>
160 <table class="memname">
162 <td class="memname">using <a class="el" href="structsigc_1_1compose1__functor.html">sigc::compose1_functor</a>< T_setter, T_getter >::<a class="el" href="structsigc_1_1compose1__functor.html#aedc6b577f320b08eb9a087494961edb5">result_type</a> = typename adaptor_type::result_type</td>
165 </div><div class="memdoc">
169 <a class="anchor" id="abab9dd3ad04a4ecb007dec3356d5c79e"></a>
170 <div class="memitem">
171 <div class="memproto">
172 <div class="memtemplate">
173 template <class T_setter , class T_getter > </div>
174 <table class="memname">
176 <td class="memname">using <a class="el" href="structsigc_1_1compose1__functor.html">sigc::compose1_functor</a>< T_setter, T_getter >::<a class="el" href="structsigc_1_1compose1__functor.html#abab9dd3ad04a4ecb007dec3356d5c79e">setter_type</a> = T_setter</td>
179 </div><div class="memdoc">
183 <h2 class="groupheader">Constructor & Destructor Documentation</h2>
184 <a class="anchor" id="a1bb831ebfb46a214a6ffda98e77ad044"></a>
185 <div class="memitem">
186 <div class="memproto">
187 <div class="memtemplate">
188 template <class T_setter , class T_getter > </div>
189 <table class="mlabels">
191 <td class="mlabels-left">
192 <table class="memname">
194 <td class="memname"><a class="el" href="structsigc_1_1compose1__functor.html">sigc::compose1_functor</a>< T_setter, T_getter >::<a class="el" href="structsigc_1_1compose1__functor.html">compose1_functor</a> </td>
196 <td class="paramtype">const T_setter & </td>
197 <td class="paramname"><em>_A_setter</em>, </td>
200 <td class="paramkey"></td>
202 <td class="paramtype">const T_getter & </td>
203 <td class="paramname"><em>_A_getter</em> </td>
212 <td class="mlabels-right">
213 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
216 </div><div class="memdoc">
218 <p>Constructs a <a class="el" href="structsigc_1_1compose1__functor.html" title="Adaptor that combines two functors. ">compose1_functor</a> object that combines the passed functors. </p>
219 <dl class="params"><dt>Parameters</dt><dd>
220 <table class="params">
221 <tr><td class="paramname">_A_setter</td><td>Functor that receives the return values of the invokation of <em>_A_getter1</em> and <em>_A_getter2</em>. </td></tr>
222 <tr><td class="paramname">_A_getter</td><td>Functor to invoke from <a class="el" href="structsigc_1_1compose1__functor.html#aef2936bffad958b68d3f6a9bb1c54568">operator()()</a>. </td></tr>
229 <h2 class="groupheader">Member Function Documentation</h2>
230 <a class="anchor" id="aef2936bffad958b68d3f6a9bb1c54568"></a>
231 <div class="memitem">
232 <div class="memproto">
233 <div class="memtemplate">
234 template <class T_setter , class T_getter > </div>
235 <table class="mlabels">
237 <td class="mlabels-left">
238 <table class="memname">
240 <td class="memname">decltype(auto) <a class="el" href="structsigc_1_1compose1__functor.html">sigc::compose1_functor</a>< T_setter, T_getter >::operator() </td>
242 <td class="paramname"></td><td>)</td>
247 <td class="mlabels-right">
248 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
251 </div><div class="memdoc">
255 <a class="anchor" id="a18cfb096dec206bca811ce1b098064bf"></a>
256 <div class="memitem">
257 <div class="memproto">
258 <div class="memtemplate">
259 template <class T_setter , class T_getter > </div>
260 <div class="memtemplate">
261 template <class... T_arg> </div>
262 <table class="mlabels">
264 <td class="mlabels-left">
265 <table class="memname">
267 <td class="memname">decltype(auto) <a class="el" href="structsigc_1_1compose1__functor.html">sigc::compose1_functor</a>< T_setter, T_getter >::operator() </td>
269 <td class="paramtype">T_arg &&... </td>
270 <td class="paramname"><em>_A_a</em></td><td>)</td>
275 <td class="mlabels-right">
276 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
279 </div><div class="memdoc">
283 <h2 class="groupheader">Member Data Documentation</h2>
284 <a class="anchor" id="abc9151caeb78b1cd79ce1eb6984dc066"></a>
285 <div class="memitem">
286 <div class="memproto">
287 <div class="memtemplate">
288 template <class T_setter , class T_getter > </div>
289 <table class="memname">
291 <td class="memname"><a class="el" href="structsigc_1_1compose1__functor.html#ae7a961401a71b60eedca11157de55fc0">getter_type</a> <a class="el" href="structsigc_1_1compose1__functor.html">sigc::compose1_functor</a>< T_setter, T_getter >::get_</td>
294 </div><div class="memdoc">
298 </div><!-- contents -->
299 <!-- start footer part -->
300 <hr class="footer"/><address class="footer"><small>
301 Generated on Wed Mar 16 2016 20:53:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
302 <img class="footer" src="doxygen.png" alt="doxygen"/>