Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > bfb47da7e0322bcb0e23e4b1838d9db9 > files > 3630

libstdc++-docs-8.4.0-1.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libstdc++: std::function&lt; _Res(_ArgTypes...)&gt; Class Template Reference</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libstdc++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a07139.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="a07136.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">std::function&lt; _Res(_ArgTypes...)&gt; Class Template Reference<div class="ingroups"><a class="el" href="a01480.html">Utilities</a> &raquo; <a class="el" href="a01499.html">Function Objects</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for std::function&lt; _Res(_ArgTypes...)&gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="a07138.svg" width="323" height="150"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a81dd2ae5fb6d9bfb9fe84fdc2c741b20"><td class="memItemLeft" align="right" valign="top"><a id="a81dd2ae5fb6d9bfb9fe84fdc2c741b20"></a>
typedef _Res&#160;</td><td class="memItemRight" valign="bottom"><b>result_type</b></td></tr>
<tr class="separator:a81dd2ae5fb6d9bfb9fe84fdc2c741b20"><td class="memSeparator" colspan="2">&#160;</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:aabc5bfd9d463ca6a06aa8198a1f12e14"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> () noexcept</td></tr>
<tr class="separator:aabc5bfd9d463ca6a06aa8198a1f12e14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a3d52a1f71572613d699d0593479615"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#a4a3d52a1f71572613d699d0593479615">function</a> (nullptr_t) noexcept</td></tr>
<tr class="separator:a4a3d52a1f71572613d699d0593479615"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8869fed86e489fcedbf59cd814f440b3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#a8869fed86e489fcedbf59cd814f440b3">function</a> (const function &amp;__x)</td></tr>
<tr class="separator:a8869fed86e489fcedbf59cd814f440b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91f39c85ac536220f5efd7e505fc73e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#a91f39c85ac536220f5efd7e505fc73e6">function</a> (function &amp;&amp;__x) noexcept</td></tr>
<tr class="separator:a91f39c85ac536220f5efd7e505fc73e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c5a08fdc36581c53fa597667322cf7d"><td class="memTemplParams" colspan="2">template&lt;typename _Functor , typename  = _Requires&lt;__not_&lt;is_same&lt;_Functor, function&gt;&gt;, void&gt;, typename  = _Requires&lt;_Callable&lt;_Functor&gt;, void&gt;&gt; </td></tr>
<tr class="memitem:a8c5a08fdc36581c53fa597667322cf7d"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a07139.html#a8c5a08fdc36581c53fa597667322cf7d">function</a> (_Functor)</td></tr>
<tr class="separator:a8c5a08fdc36581c53fa597667322cf7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2804a8e2d69cd03550a87d46d153c165"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#a2804a8e2d69cd03550a87d46d153c165">operator bool</a> () const noexcept</td></tr>
<tr class="separator:a2804a8e2d69cd03550a87d46d153c165"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0bfbd15574ba442c644604dc18c4750"><td class="memItemLeft" align="right" valign="top">_Res&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#ab0bfbd15574ba442c644604dc18c4750">operator()</a> (_ArgTypes... __args) const</td></tr>
<tr class="separator:ab0bfbd15574ba442c644604dc18c4750"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a698ecd83665a25c0c1f9cbe2ea85c2a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#a698ecd83665a25c0c1f9cbe2ea85c2a0">operator=</a> (const <a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> &amp;__x)</td></tr>
<tr class="separator:a698ecd83665a25c0c1f9cbe2ea85c2a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00bb39127d1936767cbfd81c4bb02354"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#a00bb39127d1936767cbfd81c4bb02354">operator=</a> (<a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> &amp;&amp;__x) noexcept</td></tr>
<tr class="separator:a00bb39127d1936767cbfd81c4bb02354"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05ea81faa27f6b5511b699634b83c4a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#a05ea81faa27f6b5511b699634b83c4a8">operator=</a> (nullptr_t) noexcept</td></tr>
<tr class="separator:a05ea81faa27f6b5511b699634b83c4a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbb6bdd269617d2793d4dbbb078f6707"><td class="memTemplParams" colspan="2">template&lt;typename _Functor &gt; </td></tr>
<tr class="memitem:afbb6bdd269617d2793d4dbbb078f6707"><td class="memTemplItemLeft" align="right" valign="top">_Requires&lt; _Callable&lt; typename <a class="el" href="a04171.html">decay</a>&lt; _Functor &gt;::type &gt;, <a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> &amp; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a07139.html#afbb6bdd269617d2793d4dbbb078f6707">operator=</a> (_Functor &amp;&amp;__f)</td></tr>
<tr class="separator:afbb6bdd269617d2793d4dbbb078f6707"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc4ca535d5508c13e9112b39c8c064d4"><td class="memTemplParams" colspan="2">template&lt;typename _Functor &gt; </td></tr>
<tr class="memitem:afc4ca535d5508c13e9112b39c8c064d4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a07139.html#afc4ca535d5508c13e9112b39c8c064d4">operator=</a> (<a class="el" href="a04175.html">reference_wrapper</a>&lt; _Functor &gt; __f) noexcept</td></tr>
<tr class="separator:afc4ca535d5508c13e9112b39c8c064d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6e98060b15f59120e426a787febf1a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#ad6e98060b15f59120e426a787febf1a5">swap</a> (<a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a> &amp;__x) noexcept</td></tr>
<tr class="separator:ad6e98060b15f59120e426a787febf1a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68e477681a31511e5586cd30e7642a51"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01671.html">type_info</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a07139.html#a68e477681a31511e5586cd30e7642a51">target_type</a> () const noexcept</td></tr>
<tr class="separator:a68e477681a31511e5586cd30e7642a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a35397202fc2bfb04958450d0a02836d3"><td class="memTemplParams" colspan="2">template&lt;typename _Functor &gt; </td></tr>
<tr class="memitem:a35397202fc2bfb04958450d0a02836d3"><td class="memTemplItemLeft" align="right" valign="top">_Functor *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a07139.html#a35397202fc2bfb04958450d0a02836d3">target</a> () noexcept</td></tr>
<tr class="separator:a35397202fc2bfb04958450d0a02836d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ec2969ae6cf0413547dab469503c843"><td class="memTemplParams" colspan="2">template&lt;typename _Functor &gt; </td></tr>
<tr class="memitem:a1ec2969ae6cf0413547dab469503c843"><td class="memTemplItemLeft" align="right" valign="top">const _Functor *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a07139.html#a1ec2969ae6cf0413547dab469503c843">target</a> () const noexcept</td></tr>
<tr class="separator:a1ec2969ae6cf0413547dab469503c843"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
Private Types</h2></td></tr>
<tr class="memitem:a60deed2eccace86cdc80bee041798f78"><td class="memItemLeft" align="right" valign="top"><a id="a60deed2eccace86cdc80bee041798f78"></a>
typedef bool(*&#160;</td><td class="memItemRight" valign="bottom"><b>_Manager_type</b>) (_Any_data &amp;, const _Any_data &amp;, _Manager_operation)</td></tr>
<tr class="separator:a60deed2eccace86cdc80bee041798f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ab95916ff90405d284fed30ef1873f2f2"><td class="memItemLeft" align="right" valign="top"><a id="ab95916ff90405d284fed30ef1873f2f2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>_M_empty</b> () const</td></tr>
<tr class="separator:ab95916ff90405d284fed30ef1873f2f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a2e96e5cb42609bb4e5d96f351ed14f01"><td class="memItemLeft" align="right" valign="top"><a id="a2e96e5cb42609bb4e5d96f351ed14f01"></a>
_Any_data&#160;</td><td class="memItemRight" valign="bottom"><b>_M_functor</b></td></tr>
<tr class="separator:a2e96e5cb42609bb4e5d96f351ed14f01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bf92d62608dfa3feb8ec1ab2951e72b"><td class="memItemLeft" align="right" valign="top"><a id="a3bf92d62608dfa3feb8ec1ab2951e72b"></a>
_Manager_type&#160;</td><td class="memItemRight" valign="bottom"><b>_M_manager</b></td></tr>
<tr class="separator:a3bf92d62608dfa3feb8ec1ab2951e72b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:ac5166832f25a05f78ccd303e8c6e5609"><td class="memItemLeft" align="right" valign="top"><a id="ac5166832f25a05f78ccd303e8c6e5609"></a>
static const std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>_M_max_align</b></td></tr>
<tr class="separator:ac5166832f25a05f78ccd303e8c6e5609"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabe5249f1ddb3ebdd1b64f26b4f4eb92"><td class="memItemLeft" align="right" valign="top"><a id="aabe5249f1ddb3ebdd1b64f26b4f4eb92"></a>
static const std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>_M_max_size</b></td></tr>
<tr class="separator:aabe5249f1ddb3ebdd1b64f26b4f4eb92"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _Res, typename... _ArgTypes&gt;<br />
class std::function&lt; _Res(_ArgTypes...)&gt;</h3>

<p>Primary class template for std::function.</p>
<p>Polymorphic function wrapper. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00370">370</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aabc5bfd9d463ca6a06aa8198a1f12e14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabc5bfd9d463ca6a06aa8198a1f12e14">&#9670;&nbsp;</a></span>function() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::function&lt; _Res(_ArgTypes...)&gt;::function </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default construct creates an empty function call wrapper. </p>
<dl class="section post"><dt>Postcondition</dt><dd><code>!</code>(bool)*this </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00395">395</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a4a3d52a1f71572613d699d0593479615"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a3d52a1f71572613d699d0593479615">&#9670;&nbsp;</a></span>function() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::function&lt; _Res(_ArgTypes...)&gt;::function </td>
          <td>(</td>
          <td class="paramtype">nullptr_t&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an empty function call wrapper. </p>
<dl class="section post"><dt>Postcondition</dt><dd><code>!</code>(bool)*this </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00402">402</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a8869fed86e489fcedbf59cd814f440b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8869fed86e489fcedbf59cd814f440b3">&#9670;&nbsp;</a></span>function() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::function&lt; _Res(_ArgTypes...)&gt;::function </td>
          <td>(</td>
          <td class="paramtype">const function&lt; _Res(_ArgTypes...)&gt; &amp;&#160;</td>
          <td class="paramname"><em>__x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__x</td><td>A function object with identical call signature. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section post"><dt>Postcondition</dt><dd><code>bool(*this)</code> == bool(__x)</dd></dl>
<p>The newly-created function contains a copy of the target of <em>__x</em> (if it has one). </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00653">653</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a91f39c85ac536220f5efd7e505fc73e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91f39c85ac536220f5efd7e505fc73e6">&#9670;&nbsp;</a></span>function() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::function&lt; _Res(_ArgTypes...)&gt;::function </td>
          <td>(</td>
          <td class="paramtype">function&lt; _Res(_ArgTypes...)&gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>__x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Function move constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__x</td><td>A function object rvalue with identical call signature.</td></tr>
  </table>
  </dd>
</dl>
<p>The newly-created function contains the target of <em>__x</em> (if it has one). </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00422">422</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a8c5a08fdc36581c53fa597667322cf7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c5a08fdc36581c53fa597667322cf7d">&#9670;&nbsp;</a></span>function() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<div class="memtemplate">
template&lt;typename _Functor , typename , typename &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::function&lt; _Res(_ArgTypes...)&gt;::function </td>
          <td>(</td>
          <td class="paramtype">_Functor&#160;</td>
          <td class="paramname"><em>__f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Builds a function that targets a copy of the incoming function object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__f</td><td>A function object that is callable with parameters of type <code>T1</code>, <code>T2</code>, ..., <code>TN</code> and returns a value convertible to <code>Res</code>.</td></tr>
  </table>
  </dd>
</dl>
<p>The newly-created function object will target a copy of <em>__f</em>. If <em>__f</em> is <code>reference_wrapper&lt;F&gt;</code>, then this function object will contain a reference to the function object <code>__f.get()</code>. If <em>__f</em> is a NULL function pointer or NULL pointer-to-member, the newly-created object will be empty.</p>
<p>If <em>__f</em> is a non-NULL function pointer or an object of type <code>reference_wrapper&lt;F&gt;</code>, this function will not throw. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00667">667</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2804a8e2d69cd03550a87d46d153c165"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2804a8e2d69cd03550a87d46d153c165">&#9670;&nbsp;</a></span>operator bool()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::function&lt; _Res(_ArgTypes...)&gt;::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">inline</span><span class="mlabel">explicit</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determine if the function wrapper has a target. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> when this function object contains a target, or <code>false</code> when it is empty.</dd></dl>
<p>This function will not throw an exception. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00563">563</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="ab0bfbd15574ba442c644604dc18c4750"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0bfbd15574ba442c644604dc18c4750">&#9670;&nbsp;</a></span>operator()()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_Res std::function&lt; _Res(_ArgTypes...)&gt;::operator() </td>
          <td>(</td>
          <td class="paramtype">_ArgTypes...&#160;</td>
          <td class="paramname"><em>__args</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invokes the function targeted by <code>*this</code>. </p>
<dl class="section return"><dt>Returns</dt><dd>the result of the target. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">bad_function_call</td><td>when <code>!</code>(bool)*this</td></tr>
  </table>
  </dd>
</dl>
<p>The function call operator invokes the target function object stored by <code>this</code>. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00683">683</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a698ecd83665a25c0c1f9cbe2ea85c2a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a698ecd83665a25c0c1f9cbe2ea85c2a0">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a>&amp; std::function&lt; _Res(_ArgTypes...)&gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a>&lt; _Res(_ArgTypes...)&gt; &amp;&#160;</td>
          <td class="paramname"><em>__x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Function assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__x</td><td>A function with identical call signature. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section post"><dt>Postcondition</dt><dd><code></code>(bool)*this == (bool)x </dd></dl>
<dl class="section return"><dt>Returns</dt><dd><code>*this</code> </dd></dl>
<p>The target of <em>__x</em> is copied to <code>*this</code>. If <em>__x</em> has no target, then <code>*this</code> will be empty.</p>
<p>If <em>__x</em> targets a function pointer or a reference to a function object, then this operation will not throw an exception. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00461">461</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a00bb39127d1936767cbfd81c4bb02354"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00bb39127d1936767cbfd81c4bb02354">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a>&amp; std::function&lt; _Res(_ArgTypes...)&gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a>&lt; _Res(_ArgTypes...)&gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>__x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Function move-assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__x</td><td>A function rvalue with identical call signature. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>*this</code> </dd></dl>
<p>The target of <em>__x</em> is moved to <code>*this</code>. If <em>__x</em> has no target, then <code>*this</code> will be empty.</p>
<p>If <em>__x</em> targets a function pointer or a reference to a function object, then this operation will not throw an exception. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00479">479</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a05ea81faa27f6b5511b699634b83c4a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05ea81faa27f6b5511b699634b83c4a8">&#9670;&nbsp;</a></span>operator=() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a>&amp; std::function&lt; _Res(_ArgTypes...)&gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">nullptr_t&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Function assignment to zero. </p>
<dl class="section post"><dt>Postcondition</dt><dd><code>!</code>(bool)*this </dd></dl>
<dl class="section return"><dt>Returns</dt><dd><code>*this</code> </dd></dl>
<p>The target of <code>*this</code> is deallocated, leaving it empty. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00493">493</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="afbb6bdd269617d2793d4dbbb078f6707"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbb6bdd269617d2793d4dbbb078f6707">&#9670;&nbsp;</a></span>operator=() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<div class="memtemplate">
template&lt;typename _Functor &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_Requires&lt;_Callable&lt;typename <a class="el" href="a04171.html">decay</a>&lt;_Functor&gt;::type&gt;, <a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a>&amp;&gt; std::function&lt; _Res(_ArgTypes...)&gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">_Functor &amp;&amp;&#160;</td>
          <td class="paramname"><em>__f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Function assignment to a new target. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__f</td><td>A function object that is callable with parameters of type <code>T1</code>, <code>T2</code>, ..., <code>TN</code> and returns a value convertible to <code>Res</code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>*this</code> </dd></dl>
<p>This function object wrapper will target a copy of <em>__f</em>. If <em>__f</em> is <code>reference_wrapper&lt;F&gt;</code>, then this function object will contain a reference to the function object <code>__f.get()</code>. If <em>__f</em> is a NULL function pointer or NULL pointer-to-member, <code>this</code> object will be empty.</p>
<p>If <em>__f</em> is a non-NULL function pointer or an object of type <code>reference_wrapper&lt;F&gt;</code>, this function will not throw. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00522">522</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="afc4ca535d5508c13e9112b39c8c064d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc4ca535d5508c13e9112b39c8c064d4">&#9670;&nbsp;</a></span>operator=() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<div class="memtemplate">
template&lt;typename _Functor &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a>&amp; std::function&lt; _Res(_ArgTypes...)&gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a04175.html">reference_wrapper</a>&lt; _Functor &gt;&#160;</td>
          <td class="paramname"><em>__f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00531">531</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="ad6e98060b15f59120e426a787febf1a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6e98060b15f59120e426a787febf1a5">&#9670;&nbsp;</a></span>swap()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void std::function&lt; _Res(_ArgTypes...)&gt;::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a07139.html#aabc5bfd9d463ca6a06aa8198a1f12e14">function</a>&lt; _Res(_ArgTypes...)&gt; &amp;&#160;</td>
          <td class="paramname"><em>__x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Swap the targets of two function objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__x</td><td>A function with identical call signature.</td></tr>
  </table>
  </dd>
</dl>
<p>Swap the targets of <code>this</code> function object and <em>__f</em>. This function will not throw an exception. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00546">546</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a35397202fc2bfb04958450d0a02836d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35397202fc2bfb04958450d0a02836d3">&#9670;&nbsp;</a></span>target() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<div class="memtemplate">
template&lt;typename _Functor &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_Functor * std::function&lt; _Res(_ArgTypes...)&gt;::target </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>Access the stored target function object. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to the stored target function object, if <code>typeid(_Functor)</code>.equals(target_type()); otherwise, a NULL pointer.</dd></dl>
<p>This function does not throw exceptions. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00710">710</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a1ec2969ae6cf0413547dab469503c843"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ec2969ae6cf0413547dab469503c843">&#9670;&nbsp;</a></span>target() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<div class="memtemplate">
template&lt;typename _Functor &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const _Functor * std::function&lt; _Res(_ArgTypes...)&gt;::target </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>Access the stored target function object. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to the stored target function object, if <code>typeid(_Functor)</code>.equals(target_type()); otherwise, a NULL pointer.</dd></dl>
<p>This function does not throw exceptions. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00721">721</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<a id="a68e477681a31511e5586cd30e7642a51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68e477681a31511e5586cd30e7642a51">&#9670;&nbsp;</a></span>target_type()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename... _ArgTypes&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a01671.html">type_info</a> &amp; std::function&lt; _Res(_ArgTypes...)&gt;::target_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>Determine the type of the target of this function object wrapper. </p>
<dl class="section return"><dt>Returns</dt><dd>the type identifier of the target function object, or <code>typeid(void)</code> if <code>!</code>(bool)*this.</dd></dl>
<p>This function will not throw an exception. </p>

<p class="definition">Definition at line <a class="el" href="a00521_source.html#l00694">694</a> of file <a class="el" href="a00521_source.html">std_function.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00521_source.html">std_function.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="a01541.html">std</a></li><li class="navelem"><a class="el" href="a07139.html">function&lt; _Res(_ArgTypes...)&gt;</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>