Files
tdesktop/Telegram/ThirdParty/range-v3/doc/gh-pages/group__group-functional.html
allhaileris afb81b8278
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Close stale issues and PRs / stale (push) Successful in 13s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
init
2026-02-16 15:50:16 +03:00

688 lines
50 KiB
HTML

<!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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Range-v3: Functional</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>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_search(); });
/* @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 id="projectrow">
<td id="projectalign">
<div id="projectname">Range-v3
</div>
<div id="projectbrief">Range algorithms, views, and actions for the Standard Library</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.svg"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
</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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__group-functional.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#concepts">Concepts</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">Functional</div></div>
</div><!--header-->
<div class="contents">
<p>Function and function object utilities.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="concepts" name="concepts"></a>
Concepts</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">concept &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conceptranges_1_1invocable__.html">ranges::invocable_</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>invocable_</code> concept. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">concept &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conceptranges_1_1invocable.html">ranges::invocable</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>invocable</code> concept. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">concept &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conceptranges_1_1regular__invocable.html">ranges::regular_invocable</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>regular_invocable</code> concept. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">concept &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conceptranges_1_1predicate__.html">ranges::predicate_</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>predicate_</code> concept. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">concept &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conceptranges_1_1predicate.html">ranges::predicate</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>predicate</code> concept. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">concept &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conceptranges_1_1relation.html">ranges::relation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>relation</code> concept. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">concept &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conceptranges_1_1strict__weak__order.html">ranges::strict_weak_order</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>strict_weak_order</code> concept. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1bind__element.html">ranges::bind_element&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1bind__element_3_01reference__wrapper_3_01T_01_4_01_4.html">ranges::bind_element&lt; reference_wrapper&lt; T &gt; &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1bind__element_3_01std_1_1reference__wrapper_3_01T_01_4_01_4.html">ranges::bind_element&lt; std::reference_wrapper&lt; T &gt; &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1bitwise__or.html">ranges::bitwise_or</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1coerce.html">ranges::coerce&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1coerce_3_01T_01_6_01_4.html">ranges::coerce&lt; T &amp; &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1coerce_3_01T_01_6_6_01_4.html">ranges::coerce&lt; T &amp;&amp; &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1coerce_3_01T_01const_01_4.html">ranges::coerce&lt; T const &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1compose__fn.html">ranges::compose_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1composed.html">ranges::composed&lt; Second, First &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1convert__to.html">ranges::convert_to&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1equal__to.html">ranges::equal_to</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1greater.html">ranges::greater</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1greater__equal.html">ranges::greater_equal</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1identity.html">ranges::identity</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1indirect__fn.html">ranges::indirect_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1indirected.html">ranges::indirected&lt; Fn &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1invoke__fn.html">ranges::invoke_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1invoke__result.html">ranges::invoke_result&lt; Fun, Args &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1less.html">ranges::less</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1less__equal.html">ranges::less_equal</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1logical__negate.html">ranges::logical_negate&lt; FD &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1make__pipeable__fn.html">ranges::make_pipeable_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1minus.html">ranges::minus</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1multiplies.html">ranges::multiplies</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1not__equal__to.html">ranges::not_equal_to</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1not__fn__fn.html">ranges::not_fn_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1on__fn.html">ranges::on_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1overload__fn.html">ranges::overload_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1overloaded.html">ranges::overloaded&lt; Ts &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1overloaded_3_01First_00_01Rest_8_8_8_01_4.html">ranges::overloaded&lt; First, Rest... &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1overloaded_3_4.html">ranges::overloaded&lt;&gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1pipeable__access.html">ranges::pipeable_access</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1pipeable__base.html">ranges::pipeable_base</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1plus.html">ranges::plus</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1protect__fn.html">ranges::protect_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1protector.html">ranges::protector&lt; Bind &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1ref__fn.html">ranges::ref_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1reference__wrapper.html">ranges::reference_wrapper&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1transformed.html">ranges::transformed&lt; Fn1, Fn2 &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structranges_1_1unwrap__reference__fn.html">ranges::unwrap_reference_fn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga86e6d95df90418e8b226f8aba2a7c481"><td class="memTemplParams" colspan="2"><a id="ga86e6d95df90418e8b226f8aba2a7c481" name="ga86e6d95df90418e8b226f8aba2a7c481"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga86e6d95df90418e8b226f8aba2a7c481"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::bind_element_t</b> = <a class="el" href="group__invocation.html#ga08e2193149605769f6052795ff0a87b1">meta::_t</a>&lt; <a class="el" href="structranges_1_1bind__element.html">bind_element</a>&lt; T &gt; &gt;</td></tr>
<tr class="separator:ga86e6d95df90418e8b226f8aba2a7c481"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78d165a5d2f2b9fbb69754ec22e1bc5f"><td class="memTemplParams" colspan="2"><a id="ga78d165a5d2f2b9fbb69754ec22e1bc5f" name="ga78d165a5d2f2b9fbb69754ec22e1bc5f"></a>
template&lt;typename Fun , typename... Args&gt; </td></tr>
<tr class="memitem:ga78d165a5d2f2b9fbb69754ec22e1bc5f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::invoke_result_t</b> = decltype(invoke(std::declval&lt; Fun &gt;(), std::declval&lt; Args &gt;()...))</td></tr>
<tr class="separator:ga78d165a5d2f2b9fbb69754ec22e1bc5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2dc27e88b4169c6a01c45e272291643e"><td class="memTemplParams" colspan="2"><a id="ga2dc27e88b4169c6a01c45e272291643e" name="ga2dc27e88b4169c6a01c45e272291643e"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga2dc27e88b4169c6a01c45e272291643e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::is_pipeable</b> = <a class="el" href="group__integral.html#ga8cd5c79222ce70365f7469f35ece905a">meta::bool_</a>&lt; is_pipeable_v&lt; T &gt; &gt;</td></tr>
<tr class="separator:ga2dc27e88b4169c6a01c45e272291643e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaead4e1a1fb7012f09ac5242c6d6693b"><td class="memTemplParams" colspan="2"><a id="gaaead4e1a1fb7012f09ac5242c6d6693b" name="gaaead4e1a1fb7012f09ac5242c6d6693b"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaaead4e1a1fb7012f09ac5242c6d6693b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::is_reference_wrapper</b> = <a class="el" href="group__integral.html#ga8cd5c79222ce70365f7469f35ece905a">meta::bool_</a>&lt; is_reference_wrapper_v&lt; T &gt; &gt;</td></tr>
<tr class="separator:gaaead4e1a1fb7012f09ac5242c6d6693b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e19f5292a07374e201de268ed78ac0b"><td class="memItemLeft" align="right" valign="top"><a id="ga8e19f5292a07374e201de268ed78ac0b" name="ga8e19f5292a07374e201de268ed78ac0b"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>ranges::ordered_less</b> = <a class="el" href="structranges_1_1less.html">less</a></td></tr>
<tr class="separator:ga8e19f5292a07374e201de268ed78ac0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41cb662f8cc425b831657229d22de07e"><td class="memTemplParams" colspan="2"><a id="ga41cb662f8cc425b831657229d22de07e" name="ga41cb662f8cc425b831657229d22de07e"></a>
template&lt;typename &gt; </td></tr>
<tr class="memitem:ga41cb662f8cc425b831657229d22de07e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::pipeable</b> = <a class="el" href="structranges_1_1pipeable__base.html">pipeable_base</a></td></tr>
<tr class="separator:ga41cb662f8cc425b831657229d22de07e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f6a04e9777bb34828b4737977eb3c4a"><td class="memTemplParams" colspan="2"><a id="ga3f6a04e9777bb34828b4737977eb3c4a" name="ga3f6a04e9777bb34828b4737977eb3c4a"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga3f6a04e9777bb34828b4737977eb3c4a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::ref_t</b> = decltype(ref(std::declval&lt; T &gt;()))</td></tr>
<tr class="separator:ga3f6a04e9777bb34828b4737977eb3c4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20276e9bc2c5e6c3739d36d3b25aaf3d"><td class="memTemplParams" colspan="2"><a id="ga20276e9bc2c5e6c3739d36d3b25aaf3d" name="ga20276e9bc2c5e6c3739d36d3b25aaf3d"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga20276e9bc2c5e6c3739d36d3b25aaf3d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::unwrap_reference_t</b> = decltype(unwrap_reference(std::declval&lt; T &gt;()))</td></tr>
<tr class="separator:ga20276e9bc2c5e6c3739d36d3b25aaf3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga668cdb6baa5bb7542fd85b0c8cd759ef"><td class="memTemplParams" colspan="2"><a id="ga668cdb6baa5bb7542fd85b0c8cd759ef" name="ga668cdb6baa5bb7542fd85b0c8cd759ef"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga668cdb6baa5bb7542fd85b0c8cd759ef"><td class="memTemplItemLeft" align="right" valign="top">T &amp;&amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::bind_forward</b> (<a class="el" href="group__invocation.html#ga08e2193149605769f6052795ff0a87b1">meta::_t</a>&lt; std::remove_reference&lt; T &gt; &gt; &amp;&amp;t) noexcept</td></tr>
<tr class="separator:ga668cdb6baa5bb7542fd85b0c8cd759ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab02c11468d83cb18b2ea06321b91df66"><td class="memTemplParams" colspan="2"><a id="gab02c11468d83cb18b2ea06321b91df66" name="gab02c11468d83cb18b2ea06321b91df66"></a>
template&lt;typename T , typename U = meta::if_&lt; std::is_lvalue_reference&lt;T&gt;, std::reference_wrapper&lt;meta::_t&lt;std::remove_reference&lt;T&gt;&gt;&gt;, T &amp;&amp;&gt;&gt; </td></tr>
<tr class="memitem:gab02c11468d83cb18b2ea06321b91df66"><td class="memTemplItemLeft" align="right" valign="top">U&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::bind_forward</b> (<a class="el" href="group__invocation.html#ga08e2193149605769f6052795ff0a87b1">meta::_t</a>&lt; std::remove_reference&lt; T &gt; &gt; &amp;t) noexcept</td></tr>
<tr class="separator:gab02c11468d83cb18b2ea06321b91df66"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gaed1c38a1e34a739ee4fd474aaafbcb30"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1compose__fn.html">compose_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#gaed1c38a1e34a739ee4fd474aaafbcb30">ranges::compose</a> {}</td></tr>
<tr class="separator:gaed1c38a1e34a739ee4fd474aaafbcb30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e7ed9065de7725a8629932a5732a6e1"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1indirect__fn.html">indirect_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#ga6e7ed9065de7725a8629932a5732a6e1">ranges::indirect</a> {}</td></tr>
<tr class="separator:ga6e7ed9065de7725a8629932a5732a6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2982c5c738071e0551cb319c2177cc55"><td class="memItemLeft" align="right" valign="top"><a id="ga2982c5c738071e0551cb319c2177cc55" name="ga2982c5c738071e0551cb319c2177cc55"></a>
constexpr <a class="el" href="structranges_1_1invoke__fn.html">invoke_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ranges::invoke</b> {}</td></tr>
<tr class="separator:ga2982c5c738071e0551cb319c2177cc55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa13a57aac906cb9af991d3a8db61d747"><td class="memTemplParams" colspan="2">template&lt;typename Fn , typename... Args&gt; </td></tr>
<tr class="memitem:gaa13a57aac906cb9af991d3a8db61d747"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__group-functional.html#gaa13a57aac906cb9af991d3a8db61d747">ranges::is_invocable_v</a></td></tr>
<tr class="separator:gaa13a57aac906cb9af991d3a8db61d747"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4bec16c12565bed95903c3544b6bbc3"><td class="memTemplParams" colspan="2">template&lt;typename Fn , typename... Args&gt; </td></tr>
<tr class="memitem:gae4bec16c12565bed95903c3544b6bbc3"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__group-functional.html#gae4bec16c12565bed95903c3544b6bbc3">ranges::is_nothrow_invocable_v</a></td></tr>
<tr class="separator:gae4bec16c12565bed95903c3544b6bbc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6da3bf84801fa3cad9b40b7a7e373134"><td class="memTemplParams" colspan="2"><a id="ga6da3bf84801fa3cad9b40b7a7e373134" name="ga6da3bf84801fa3cad9b40b7a7e373134"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga6da3bf84801fa3cad9b40b7a7e373134"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::is_pipeable_v</b> = std::is_base_of&lt; <a class="el" href="structranges_1_1pipeable__base.html">pipeable_base</a>, T &gt;::value</td></tr>
<tr class="separator:ga6da3bf84801fa3cad9b40b7a7e373134"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga669696a8f0c5245eb59fa58a81f238c2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga669696a8f0c5245eb59fa58a81f238c2"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__group-functional.html#ga669696a8f0c5245eb59fa58a81f238c2">ranges::is_pipeable_v&lt; T &amp; &gt;</a></td></tr>
<tr class="separator:ga669696a8f0c5245eb59fa58a81f238c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c33a514978c0780604125502fbb2521"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga6c33a514978c0780604125502fbb2521"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__group-functional.html#ga6c33a514978c0780604125502fbb2521">ranges::is_pipeable_v&lt; T &amp;&amp; &gt;</a></td></tr>
<tr class="separator:ga6c33a514978c0780604125502fbb2521"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6958962ea4819425ee801687e863bd81"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga6958962ea4819425ee801687e863bd81"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__group-functional.html#ga6958962ea4819425ee801687e863bd81">ranges::is_reference_wrapper_v</a></td></tr>
<tr class="separator:ga6958962ea4819425ee801687e863bd81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada6c7db0e0c8c03844ebad6c1a880a7f"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1make__pipeable__fn.html">make_pipeable_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#gada6c7db0e0c8c03844ebad6c1a880a7f">ranges::make_pipeable</a> {}</td></tr>
<tr class="separator:gada6c7db0e0c8c03844ebad6c1a880a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac459b8095670ce298ea0bb3f341bf373"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1not__fn__fn.html">not_fn_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#gac459b8095670ce298ea0bb3f341bf373">ranges::not_fn</a> {}</td></tr>
<tr class="separator:gac459b8095670ce298ea0bb3f341bf373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb744dc083744d4ae838b6dbfa614d2e"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1on__fn.html">on_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#gaeb744dc083744d4ae838b6dbfa614d2e">ranges::on</a> {}</td></tr>
<tr class="separator:gaeb744dc083744d4ae838b6dbfa614d2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ead528d7afa7067fd8727a1e605d796"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1overload__fn.html">overload_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#ga3ead528d7afa7067fd8727a1e605d796">ranges::overload</a> {}</td></tr>
<tr class="separator:ga3ead528d7afa7067fd8727a1e605d796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31d4395510c9bf0dad47fd35b6f5e2b6"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1protect__fn.html">protect_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#ga31d4395510c9bf0dad47fd35b6f5e2b6">ranges::protect</a> {}</td></tr>
<tr class="memdesc:ga31d4395510c9bf0dad47fd35b6f5e2b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protect a callable so that it can be safely used in a bind expression without accidentally becoming a "nested" bind. <a href="group__group-functional.html#ga31d4395510c9bf0dad47fd35b6f5e2b6">More...</a><br /></td></tr>
<tr class="separator:ga31d4395510c9bf0dad47fd35b6f5e2b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga251c7b8f81fd520e52412fc767a80a5e"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1ref__fn.html">ref_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#ga251c7b8f81fd520e52412fc767a80a5e">ranges::ref</a> {}</td></tr>
<tr class="separator:ga251c7b8f81fd520e52412fc767a80a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3955120e57fdbe4c169ccd489b3443f7"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="structranges_1_1unwrap__reference__fn.html">unwrap_reference_fn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-functional.html#ga3955120e57fdbe4c169ccd489b3443f7">ranges::unwrap_reference</a> {}</td></tr>
<tr class="separator:ga3955120e57fdbe4c169ccd489b3443f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p >Function and function object utilities. </p>
<h2 class="groupheader">Variable Documentation</h2>
<a id="gaed1c38a1e34a739ee4fd474aaafbcb30" name="gaed1c38a1e34a739ee4fd474aaafbcb30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaed1c38a1e34a739ee4fd474aaafbcb30">&#9670;&nbsp;</a></span>compose</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1compose__fn.html">compose_fn</a> ranges::compose {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="compose_8hpp.html">range/v3/functional/compose.hpp</a>&gt;</code></p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1compose__fn.html">compose_fn</a></code> </dd></dl>
</div>
</div>
<a id="ga6e7ed9065de7725a8629932a5732a6e1" name="ga6e7ed9065de7725a8629932a5732a6e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6e7ed9065de7725a8629932a5732a6e1">&#9670;&nbsp;</a></span>indirect</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1indirect__fn.html">indirect_fn</a> ranges::indirect {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="functional_2indirect_8hpp.html">range/v3/functional/indirect.hpp</a>&gt;</code></p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1indirect__fn.html">indirect_fn</a></code> </dd></dl>
</div>
</div>
<a id="gaa13a57aac906cb9af991d3a8db61d747" name="gaa13a57aac906cb9af991d3a8db61d747"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa13a57aac906cb9af991d3a8db61d747">&#9670;&nbsp;</a></span>is_invocable_v</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Fn , typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr bool ranges::is_invocable_v</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="invoke_8hpp.html">range/v3/functional/invoke.hpp</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> meta::is_trait&lt;invoke_result&lt;Fn, Args...&gt;&gt;::value</div>
</div><!-- fragment -->
</div>
</div>
<a id="gae4bec16c12565bed95903c3544b6bbc3" name="gae4bec16c12565bed95903c3544b6bbc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae4bec16c12565bed95903c3544b6bbc3">&#9670;&nbsp;</a></span>is_nothrow_invocable_v</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Fn , typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr bool ranges::is_nothrow_invocable_v</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="invoke_8hpp.html">range/v3/functional/invoke.hpp</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> detail::is_nothrow_invocable_impl_&lt;is_invocable_v&lt;Fn, Args...&gt;&gt;::template <a class="code hl_typedef" href="group__invocation.html#ga2f71f17b6a6b48ea99134ddabd0e19a9">apply</a>&lt;</div>
<div class="line"> Fn, Args...&gt;()</div>
<div class="ttc" id="agroup__invocation_html_ga2f71f17b6a6b48ea99134ddabd0e19a9"><div class="ttname"><a href="group__invocation.html#ga2f71f17b6a6b48ea99134ddabd0e19a9">meta::apply</a></div><div class="ttdeci">_t&lt; extension::apply&lt; Fn, L &gt; &gt; apply</div><div class="ttdoc">Applies the invocable Fn using the types in the type list L as arguments.</div><div class="ttdef"><b>Definition:</b> meta.hpp:1030</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ga669696a8f0c5245eb59fa58a81f238c2" name="ga669696a8f0c5245eb59fa58a81f238c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga669696a8f0c5245eb59fa58a81f238c2">&#9670;&nbsp;</a></span>is_pipeable_v&lt; T &amp; &gt;</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr bool ranges::is_pipeable_v&lt; T &amp; &gt;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="pipeable_8hpp.html">range/v3/functional/pipeable.hpp</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">= </div>
<div class="line">std::is_base_of&lt; pipeable_base, T &gt;::value</div>
</div><!-- fragment -->
</div>
</div>
<a id="ga6c33a514978c0780604125502fbb2521" name="ga6c33a514978c0780604125502fbb2521"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6c33a514978c0780604125502fbb2521">&#9670;&nbsp;</a></span>is_pipeable_v&lt; T &amp;&amp; &gt;</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr bool ranges::is_pipeable_v&lt; T &amp;&amp; &gt;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="pipeable_8hpp.html">range/v3/functional/pipeable.hpp</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">= </div>
<div class="line">std::is_base_of&lt; pipeable_base, T &gt;::value</div>
</div><!-- fragment -->
</div>
</div>
<a id="ga6958962ea4819425ee801687e863bd81" name="ga6958962ea4819425ee801687e863bd81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6958962ea4819425ee801687e863bd81">&#9670;&nbsp;</a></span>is_reference_wrapper_v</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr bool ranges::is_reference_wrapper_v</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="invoke_8hpp.html">range/v3/functional/invoke.hpp</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> detail::is_reference_wrapper_v&lt;detail::decay_t&lt;T&gt;&gt;</div>
</div><!-- fragment -->
</div>
</div>
<a id="gada6c7db0e0c8c03844ebad6c1a880a7f" name="gada6c7db0e0c8c03844ebad6c1a880a7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gada6c7db0e0c8c03844ebad6c1a880a7f">&#9670;&nbsp;</a></span>make_pipeable</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1make__pipeable__fn.html">make_pipeable_fn</a> ranges::make_pipeable {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="pipeable_8hpp.html">range/v3/functional/pipeable.hpp</a>&gt;</code></p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1make__pipeable__fn.html">make_pipeable_fn</a></code> </dd></dl>
</div>
</div>
<a id="gac459b8095670ce298ea0bb3f341bf373" name="gac459b8095670ce298ea0bb3f341bf373"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac459b8095670ce298ea0bb3f341bf373">&#9670;&nbsp;</a></span>not_fn</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1not__fn__fn.html">not_fn_fn</a> ranges::not_fn {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="not__fn_8hpp.html">range/v3/functional/not_fn.hpp</a>&gt;</code></p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1not__fn__fn.html">not_fn_fn</a></code> </dd></dl>
</div>
</div>
<a id="gaeb744dc083744d4ae838b6dbfa614d2e" name="gaeb744dc083744d4ae838b6dbfa614d2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeb744dc083744d4ae838b6dbfa614d2e">&#9670;&nbsp;</a></span>on</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1on__fn.html">on_fn</a> ranges::on {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="on_8hpp.html">range/v3/functional/on.hpp</a>&gt;</code></p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1on__fn.html">on_fn</a></code> </dd></dl>
</div>
</div>
<a id="ga3ead528d7afa7067fd8727a1e605d796" name="ga3ead528d7afa7067fd8727a1e605d796"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3ead528d7afa7067fd8727a1e605d796">&#9670;&nbsp;</a></span>overload</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1overload__fn.html">overload_fn</a> ranges::overload {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="overload_8hpp.html">range/v3/functional/overload.hpp</a>&gt;</code></p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1overload__fn.html">overload_fn</a></code> </dd></dl>
</div>
</div>
<a id="ga31d4395510c9bf0dad47fd35b6f5e2b6" name="ga31d4395510c9bf0dad47fd35b6f5e2b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga31d4395510c9bf0dad47fd35b6f5e2b6">&#9670;&nbsp;</a></span>protect</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1protect__fn.html">protect_fn</a> ranges::protect {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="bind_8hpp.html">range/v3/functional/bind.hpp</a>&gt;</code></p>
<p>Protect a callable so that it can be safely used in a bind expression without accidentally becoming a "nested" bind. </p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1protect__fn.html">protect_fn</a></code> </dd></dl>
</div>
</div>
<a id="ga251c7b8f81fd520e52412fc767a80a5e" name="ga251c7b8f81fd520e52412fc767a80a5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga251c7b8f81fd520e52412fc767a80a5e">&#9670;&nbsp;</a></span>ref</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1ref__fn.html">ref_fn</a> ranges::ref {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="reference__wrapper_8hpp.html">range/v3/functional/reference_wrapper.hpp</a>&gt;</code></p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1ref__fn.html">ref_fn</a></code> </dd></dl>
</div>
</div>
<a id="ga3955120e57fdbe4c169ccd489b3443f7" name="ga3955120e57fdbe4c169ccd489b3443f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3955120e57fdbe4c169ccd489b3443f7">&#9670;&nbsp;</a></span>unwrap_reference</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="structranges_1_1unwrap__reference__fn.html">unwrap_reference_fn</a> ranges::unwrap_reference {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="reference__wrapper_8hpp.html">range/v3/functional/reference_wrapper.hpp</a>&gt;</code></p>
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="structranges_1_1unwrap__reference__fn.html">unwrap_reference_fn</a></code> </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4 </li>
</ul>
</div>
</body>
</html>