Files
tdesktop/Telegram/ThirdParty/range-v3/doc/gh-pages/common__tuple_8hpp.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
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
init
2026-02-16 15:50:16 +03:00

383 lines
37 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: range/v3/utility/common_tuple.hpp File 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>
<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('common__tuple_8hpp.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="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">common_tuple.hpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<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_1common__pair.html">ranges::common_pair&lt; F, S &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_1common__tuple.html">ranges::common_tuple&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_1make__common__tuple__fn.html">ranges::make_common_tuple_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="structtuple__element_3_010_00_01_1_1ranges_1_1common__pair_3_01First_00_01Second_01_4_01_4.html">tuple_element&lt; 0, ::ranges::common_pair&lt; First, Second &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="structtuple__element_3_011_00_01_1_1ranges_1_1common__pair_3_01First_00_01Second_01_4_01_4.html">tuple_element&lt; 1, ::ranges::common_pair&lt; First, Second &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="structtuple__element_3_01N_00_01_1_1ranges_1_1common__tuple_3_01Ts_8_8_8_01_4_01_4.html">tuple_element&lt; N, ::ranges::common_tuple&lt; Ts... &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="structtuple__size_3_1_1ranges_1_1common__pair_3_01First_00_01Second_01_4_01_4.html">tuple_size&lt;::ranges::common_pair&lt; First, Second &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="structtuple__size_3_1_1ranges_1_1common__tuple_3_01Ts_8_8_8_01_4_01_4.html">tuple_size&lt;::ranges::common_tuple&lt; Ts... &gt; &gt;</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="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a507ccee4d341d0b9527c2706c798e4d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common__tuple_8hpp.html#a507ccee4d341d0b9527c2706c798e4d2">LOGICAL_OP</a>(OP, CONCEPT)</td></tr>
<tr class="separator:a507ccee4d341d0b9527c2706c798e4d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcd919b080d29f56a08b4f7337fefef3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common__tuple_8hpp.html#adcd919b080d29f56a08b4f7337fefef3">LOGICAL_OP</a>(OP, CONCEPT, RET)</td></tr>
<tr class="separator:adcd919b080d29f56a08b4f7337fefef3"><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:a17c71be103b993c0793eb0e926e4b11e"><td class="memItemLeft" align="right" valign="top"><a id="a17c71be103b993c0793eb0e926e4b11e" name="a17c71be103b993c0793eb0e926e4b11e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ranges::b&lt; a)) template&lt; typename... Ts, typename... Us &gt; requires and_v&lt; totally_ordered_with&lt; Ts, Us &gt;... &gt; bool operator&gt;</b> (common_tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a17c71be103b993c0793eb0e926e4b11e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaeb9977463ea943afa032efeb24306b"><td class="memTemplParams" colspan="2"><a id="abaeb9977463ea943afa032efeb24306b" name="abaeb9977463ea943afa032efeb24306b"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; equality_comparable_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:abaeb9977463ea943afa032efeb24306b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator!=</b> (common_tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:abaeb9977463ea943afa032efeb24306b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60cb09aa125233e57ab13cdae9e79cd7"><td class="memTemplParams" colspan="2"><a id="a60cb09aa125233e57ab13cdae9e79cd7" name="a60cb09aa125233e57ab13cdae9e79cd7"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; equality_comparable_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a60cb09aa125233e57ab13cdae9e79cd7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator!=</b> (common_tuple&lt; Ts... &gt; const &amp;a, std::tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a60cb09aa125233e57ab13cdae9e79cd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d68bec58017d4d91c40c7da96ee9add"><td class="memTemplParams" colspan="2"><a id="a4d68bec58017d4d91c40c7da96ee9add" name="a4d68bec58017d4d91c40c7da96ee9add"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; equality_comparable_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a4d68bec58017d4d91c40c7da96ee9add"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator!=</b> (std::tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a4d68bec58017d4d91c40c7da96ee9add"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a783b0250c711ee9600be8a20e492a49b"><td class="memTemplParams" colspan="2"><a id="a783b0250c711ee9600be8a20e492a49b" name="a783b0250c711ee9600be8a20e492a49b"></a>
template&lt;typename F1 , typename S1 , typename F2 , typename S2 &gt; <br />
requires totally_ordered_with&lt;F1, F2&gt; &amp;&amp; totally_ordered_with&lt;S1, S2&gt;</td></tr>
<tr class="memitem:a783b0250c711ee9600be8a20e492a49b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;</b> (common_pair&lt; F1, S1 &gt; const &amp;a, common_pair&lt; F2, S2 &gt; const &amp;b)</td></tr>
<tr class="separator:a783b0250c711ee9600be8a20e492a49b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9242661085121fc9d4ed2079853562f7"><td class="memTemplParams" colspan="2"><a id="a9242661085121fc9d4ed2079853562f7" name="a9242661085121fc9d4ed2079853562f7"></a>
template&lt;typename F1 , typename S1 , typename F2 , typename S2 &gt; <br />
requires totally_ordered_with&lt;F1, F2&gt; &amp;&amp; totally_ordered_with&lt;S1, S2&gt;</td></tr>
<tr class="memitem:a9242661085121fc9d4ed2079853562f7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;</b> (common_pair&lt; F1, S1 &gt; const &amp;a, std::pair&lt; F2, S2 &gt; const &amp;b)</td></tr>
<tr class="separator:a9242661085121fc9d4ed2079853562f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e738e1fbf35d5764ed9de94f55c4dcb"><td class="memTemplParams" colspan="2"><a id="a0e738e1fbf35d5764ed9de94f55c4dcb" name="a0e738e1fbf35d5764ed9de94f55c4dcb"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a0e738e1fbf35d5764ed9de94f55c4dcb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;</b> (common_tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a0e738e1fbf35d5764ed9de94f55c4dcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab18e3db1510d1f3ef5b3afb75c0c91bb"><td class="memTemplParams" colspan="2"><a id="ab18e3db1510d1f3ef5b3afb75c0c91bb" name="ab18e3db1510d1f3ef5b3afb75c0c91bb"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:ab18e3db1510d1f3ef5b3afb75c0c91bb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;</b> (common_tuple&lt; Ts... &gt; const &amp;a, std::tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:ab18e3db1510d1f3ef5b3afb75c0c91bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af120e9fb23b4053381ba9e409c865517"><td class="memTemplParams" colspan="2"><a id="af120e9fb23b4053381ba9e409c865517" name="af120e9fb23b4053381ba9e409c865517"></a>
template&lt;typename F1 , typename S1 , typename F2 , typename S2 &gt; <br />
requires totally_ordered_with&lt;F1, F2&gt; &amp;&amp; totally_ordered_with&lt;S1, S2&gt;</td></tr>
<tr class="memitem:af120e9fb23b4053381ba9e409c865517"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;</b> (std::pair&lt; F1, S1 &gt; const &amp;a, common_pair&lt; F2, S2 &gt; const &amp;b)</td></tr>
<tr class="separator:af120e9fb23b4053381ba9e409c865517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa372c3949dd41372703257f795e577ed"><td class="memTemplParams" colspan="2"><a id="aa372c3949dd41372703257f795e577ed" name="aa372c3949dd41372703257f795e577ed"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:aa372c3949dd41372703257f795e577ed"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;</b> (std::tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:aa372c3949dd41372703257f795e577ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac167728e95a21ad1a6fc22d452ab96a8"><td class="memTemplParams" colspan="2"><a id="ac167728e95a21ad1a6fc22d452ab96a8" name="ac167728e95a21ad1a6fc22d452ab96a8"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:ac167728e95a21ad1a6fc22d452ab96a8"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;=</b> (common_tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:ac167728e95a21ad1a6fc22d452ab96a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd4249a26e4bb22ec427cd6d4fb8b6af"><td class="memItemLeft" align="right" valign="top"><a id="acd4249a26e4bb22ec427cd6d4fb8b6af" name="acd4249a26e4bb22ec427cd6d4fb8b6af"></a>
Us bool&#160;</td><td class="memItemRight" valign="bottom"><b>ranges::operator&lt;=</b> (common_tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:acd4249a26e4bb22ec427cd6d4fb8b6af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a901ebfc6661dcfef4cf30853f5605a6a"><td class="memTemplParams" colspan="2"><a id="a901ebfc6661dcfef4cf30853f5605a6a" name="a901ebfc6661dcfef4cf30853f5605a6a"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a901ebfc6661dcfef4cf30853f5605a6a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;=</b> (common_tuple&lt; Ts... &gt; const &amp;a, std::tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a901ebfc6661dcfef4cf30853f5605a6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d7df59083fbc30429a7cbf602efd6e9"><td class="memTemplParams" colspan="2"><a id="a3d7df59083fbc30429a7cbf602efd6e9" name="a3d7df59083fbc30429a7cbf602efd6e9"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a3d7df59083fbc30429a7cbf602efd6e9"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&lt;=</b> (std::tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a3d7df59083fbc30429a7cbf602efd6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fccc96f641c4f2dbeba26e466b9de27"><td class="memTemplParams" colspan="2"><a id="a4fccc96f641c4f2dbeba26e466b9de27" name="a4fccc96f641c4f2dbeba26e466b9de27"></a>
template&lt;typename F1 , typename S1 , typename F2 , typename S2 &gt; <br />
requires equality_comparable_with&lt;F1, F2&gt; &amp;&amp; equality_comparable_with&lt;S1, S2&gt;</td></tr>
<tr class="memitem:a4fccc96f641c4f2dbeba26e466b9de27"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator==</b> (common_pair&lt; F1, S1 &gt; const &amp;a, common_pair&lt; F2, S2 &gt; const &amp;b)</td></tr>
<tr class="separator:a4fccc96f641c4f2dbeba26e466b9de27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af267cff16a7fbdb3dad507a066c92eff"><td class="memTemplParams" colspan="2"><a id="af267cff16a7fbdb3dad507a066c92eff" name="af267cff16a7fbdb3dad507a066c92eff"></a>
template&lt;typename F1 , typename S1 , typename F2 , typename S2 &gt; <br />
requires equality_comparable_with&lt;F1, F2&gt; &amp;&amp; equality_comparable_with&lt;S1, S2&gt;</td></tr>
<tr class="memitem:af267cff16a7fbdb3dad507a066c92eff"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator==</b> (common_pair&lt; F1, S1 &gt; const &amp;a, std::pair&lt; F2, S2 &gt; const &amp;b)</td></tr>
<tr class="separator:af267cff16a7fbdb3dad507a066c92eff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9cb53314762b70669588bd4747bb6e6"><td class="memTemplParams" colspan="2"><a id="ad9cb53314762b70669588bd4747bb6e6" name="ad9cb53314762b70669588bd4747bb6e6"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; equality_comparable_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:ad9cb53314762b70669588bd4747bb6e6"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator==</b> (common_tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:ad9cb53314762b70669588bd4747bb6e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59afdfee92c4a2a64653bb1a804d66b8"><td class="memTemplParams" colspan="2"><a id="a59afdfee92c4a2a64653bb1a804d66b8" name="a59afdfee92c4a2a64653bb1a804d66b8"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; equality_comparable_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a59afdfee92c4a2a64653bb1a804d66b8"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator==</b> (common_tuple&lt; Ts... &gt; const &amp;a, std::tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a59afdfee92c4a2a64653bb1a804d66b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2f43a1665feb93f3651ce9f6536a93c"><td class="memTemplParams" colspan="2"><a id="ad2f43a1665feb93f3651ce9f6536a93c" name="ad2f43a1665feb93f3651ce9f6536a93c"></a>
template&lt;typename F1 , typename S1 , typename F2 , typename S2 &gt; <br />
requires equality_comparable_with&lt;F1, F2&gt; &amp;&amp; equality_comparable_with&lt;S1, S2&gt;</td></tr>
<tr class="memitem:ad2f43a1665feb93f3651ce9f6536a93c"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator==</b> (std::pair&lt; F1, S1 &gt; const &amp;a, common_pair&lt; F2, S2 &gt; const &amp;b)</td></tr>
<tr class="separator:ad2f43a1665feb93f3651ce9f6536a93c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63c6ab918a2ef787fcf27c80d9b682aa"><td class="memTemplParams" colspan="2"><a id="a63c6ab918a2ef787fcf27c80d9b682aa" name="a63c6ab918a2ef787fcf27c80d9b682aa"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; equality_comparable_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a63c6ab918a2ef787fcf27c80d9b682aa"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator==</b> (std::tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a63c6ab918a2ef787fcf27c80d9b682aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a916568262a1238e0842002d720caf355"><td class="memTemplParams" colspan="2"><a id="a916568262a1238e0842002d720caf355" name="a916568262a1238e0842002d720caf355"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a916568262a1238e0842002d720caf355"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&gt;</b> (common_tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a916568262a1238e0842002d720caf355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa69b1983466e2b80d44d6bdfda092be"><td class="memTemplParams" colspan="2"><a id="afa69b1983466e2b80d44d6bdfda092be" name="afa69b1983466e2b80d44d6bdfda092be"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:afa69b1983466e2b80d44d6bdfda092be"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&gt;</b> (common_tuple&lt; Ts... &gt; const &amp;a, std::tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:afa69b1983466e2b80d44d6bdfda092be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ebd7e5f2e3f4c087cc73d3a61ecca37"><td class="memTemplParams" colspan="2"><a id="a1ebd7e5f2e3f4c087cc73d3a61ecca37" name="a1ebd7e5f2e3f4c087cc73d3a61ecca37"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a1ebd7e5f2e3f4c087cc73d3a61ecca37"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&gt;</b> (std::tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a1ebd7e5f2e3f4c087cc73d3a61ecca37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a999694ffe193787af5c4af9fa8468566"><td class="memTemplParams" colspan="2"><a id="a999694ffe193787af5c4af9fa8468566" name="a999694ffe193787af5c4af9fa8468566"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a999694ffe193787af5c4af9fa8468566"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&gt;=</b> (common_tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a999694ffe193787af5c4af9fa8468566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc0c771ce06163b0402a50ac49957e5d"><td class="memTemplParams" colspan="2"><a id="adc0c771ce06163b0402a50ac49957e5d" name="adc0c771ce06163b0402a50ac49957e5d"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:adc0c771ce06163b0402a50ac49957e5d"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&gt;=</b> (common_tuple&lt; Ts... &gt; const &amp;a, std::tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:adc0c771ce06163b0402a50ac49957e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1de208d2e00b9589927d691d21c870f"><td class="memItemLeft" align="right" valign="top"><a id="af1de208d2e00b9589927d691d21c870f" name="af1de208d2e00b9589927d691d21c870f"></a>
typename Us bool&#160;</td><td class="memItemRight" valign="bottom"><b>ranges::operator&gt;=</b> (common_tuple&lt; Ts... &gt; const &amp;a, std::tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:af1de208d2e00b9589927d691d21c870f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1389a922ffc2ecebfae087005ed3c45f"><td class="memTemplParams" colspan="2"><a id="a1389a922ffc2ecebfae087005ed3c45f" name="a1389a922ffc2ecebfae087005ed3c45f"></a>
template&lt;typename... Ts, typename... Us&gt; <br />
requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt;</td></tr>
<tr class="memitem:a1389a922ffc2ecebfae087005ed3c45f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ranges::operator&gt;=</b> (std::tuple&lt; Ts... &gt; const &amp;a, common_tuple&lt; Us... &gt; const &amp;b)</td></tr>
<tr class="separator:a1389a922ffc2ecebfae087005ed3c45f"><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:aab8c4bec66cdf60e80a1129e63e3be87"><td class="memItemLeft" align="right" valign="top"><a id="aab8c4bec66cdf60e80a1129e63e3be87" name="aab8c4bec66cdf60e80a1129e63e3be87"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ranges::a</b> == b)) template&lt; typename... Ts, typename... Us &gt; requires and_v&lt; totally_ordered_with &lt;Ts</td></tr>
<tr class="separator:aab8c4bec66cdf60e80a1129e63e3be87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4feee011f0ae0f23dc2304c9c0f98353"><td class="memItemLeft" align="right" valign="top"><a id="a4feee011f0ae0f23dc2304c9c0f98353" name="a4feee011f0ae0f23dc2304c9c0f98353"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ranges::b&lt; a)) template&lt; typename... Ts, typename... Us &gt; requires and_v&lt; totally_ordered_with&lt; Ts, Us &gt;... &gt; bool operator&gt;</b> = (common_tuple&lt;Ts...&gt; const &amp; a, common_tuple&lt;Us...&gt; const &amp; b) { return a.base() &gt;= b.base(); } template&lt; typename... Ts, typename... Us &gt; requires and_v&lt; totally_ordered_with &lt;Ts, Us&gt;...&gt; bool operator &gt;= (std::tuple&lt;Ts...&gt; const &amp; a, common_tuple&lt;Us...&gt; const &amp; b) { return a &gt;= b.base(); } template&lt; typename... Ts</td></tr>
<tr class="separator:a4feee011f0ae0f23dc2304c9c0f98353"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace9dada57ff6aef90a936f09c688c1b7"><td class="memItemLeft" align="right" valign="top">constexpr make_common_tuple_fn&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group-utility.html#gace9dada57ff6aef90a936f09c688c1b7">ranges::make_common_tuple</a> {}</td></tr>
<tr class="separator:gace9dada57ff6aef90a936f09c688c1b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a507ccee4d341d0b9527c2706c798e4d2" name="a507ccee4d341d0b9527c2706c798e4d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a507ccee4d341d0b9527c2706c798e4d2">&#9670;&nbsp;</a></span>LOGICAL_OP <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOGICAL_OP</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">OP, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">CONCEPT&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">template</span>(<span class="keyword">typename</span>... Ts, <span class="keyword">typename</span>... Us)( \</div>
<div class="line"> <span class="keyword">requires</span> and_v&lt;CONCEPT&lt;Ts, Us&gt;...&gt;) \</div>
<div class="line"> bool <span class="keyword">operator</span> OP(common_tuple&lt;Ts...&gt; <span class="keyword">const</span> &amp; a, common_tuple&lt;Us...&gt; <span class="keyword">const</span> &amp; b) \</div>
<div class="line"> { \</div>
<div class="line"> return a.base() OP b.base(); \</div>
<div class="line"> } \</div>
<div class="line"> template(<span class="keyword">typename</span>... Ts, <span class="keyword">typename</span>... Us)( \</div>
<div class="line"> requires and_v&lt;CONCEPT&lt;Ts, Us&gt;...&gt;) \</div>
<div class="line"> <span class="keywordtype">bool</span> <span class="keyword">operator</span> OP(std::tuple&lt;Ts...&gt; <span class="keyword">const</span> &amp; a, common_tuple&lt;Us...&gt; <span class="keyword">const</span> &amp; b) \</div>
<div class="line"> { \</div>
<div class="line"> return a OP b.base(); \</div>
<div class="line"> } \</div>
<div class="line"> template(<span class="keyword">typename</span>... Ts, <span class="keyword">typename</span>... Us)( \</div>
<div class="line"> requires and_v&lt;CONCEPT&lt;Ts, Us&gt;...&gt;) \</div>
<div class="line"> <span class="keywordtype">bool</span> <span class="keyword">operator</span> OP(common_tuple&lt;Ts...&gt; <span class="keyword">const</span> &amp; a, std::tuple&lt;Us...&gt; <span class="keyword">const</span> &amp; b) \</div>
<div class="line"> { \</div>
<div class="line"> return a.base() OP b; \</div>
<div class="line"> } \</div>
</div><!-- fragment -->
</div>
</div>
<a id="adcd919b080d29f56a08b4f7337fefef3" name="adcd919b080d29f56a08b4f7337fefef3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcd919b080d29f56a08b4f7337fefef3">&#9670;&nbsp;</a></span>LOGICAL_OP <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOGICAL_OP</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">OP, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">CONCEPT, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">RET&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">template</span>(<span class="keyword">typename</span> F1, <span class="keyword">typename</span> S1, <span class="keyword">typename</span> F2, <span class="keyword">typename</span> S2)( \</div>
<div class="line"> <span class="keyword">requires</span> CONCEPT&lt;F1, F2&gt; AND CONCEPT&lt;S1, S2&gt;) \</div>
<div class="line"> bool <span class="keyword">operator</span> OP(common_pair&lt;F1, S1&gt; <span class="keyword">const</span> &amp; a, common_pair&lt;F2, S2&gt; <span class="keyword">const</span> &amp; b) \</div>
<div class="line"> { \</div>
<div class="line"> return RET; \</div>
<div class="line"> } \</div>
<div class="line"> template(<span class="keyword">typename</span> F1, <span class="keyword">typename</span> S1, <span class="keyword">typename</span> F2, <span class="keyword">typename</span> S2)( \</div>
<div class="line"> requires CONCEPT&lt;F1, F2&gt; AND CONCEPT&lt;S1, S2&gt;) \</div>
<div class="line"> <span class="keywordtype">bool</span> <span class="keyword">operator</span> OP(std::pair&lt;F1, S1&gt; <span class="keyword">const</span> &amp; a, common_pair&lt;F2, S2&gt; <span class="keyword">const</span> &amp; b) \</div>
<div class="line"> { \</div>
<div class="line"> return RET; \</div>
<div class="line"> } \</div>
<div class="line"> template(<span class="keyword">typename</span> F1, <span class="keyword">typename</span> S1, <span class="keyword">typename</span> F2, <span class="keyword">typename</span> S2)( \</div>
<div class="line"> requires CONCEPT&lt;F1, F2&gt; AND CONCEPT&lt;S1, S2&gt;) \</div>
<div class="line"> <span class="keywordtype">bool</span> <span class="keyword">operator</span> OP(common_pair&lt;F1, S1&gt; <span class="keyword">const</span> &amp; a, std::pair&lt;F2, S2&gt; <span class="keyword">const</span> &amp; b) \</div>
<div class="line"> { \</div>
<div class="line"> return RET; \</div>
<div class="line"> } \</div>
</div><!-- fragment -->
</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="navelem"><a class="el" href="dir_f242af8a7c2c0148e408c78222f177e1.html">range</a></li><li class="navelem"><a class="el" href="dir_b72dce760dba076c3008801bbd43e21d.html">v3</a></li><li class="navelem"><a class="el" href="dir_7e8da53cb0bc1762e5680ccc5286e997.html">utility</a></li><li class="navelem"><a class="el" href="common__tuple_8hpp.html">common_tuple.hpp</a></li>
<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>