Files
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

1016 lines
168 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: meta/meta.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('meta_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="#namespaces">Namespaces</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">meta.hpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Tiny meta-programming library.
<a href="#details">More...</a></p>
<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="structmeta_1_1and__c.html">meta::and_c&lt; Bs &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="structmeta_1_1bind__back.html">meta::bind_back&lt; Fn, Us &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An invocable that partially applies the invocable <code>Fn</code> by binding the arguments <code>Us</code> to the <em>back</em> of <code>Fn</code>. <a href="structmeta_1_1bind__back.html#details">More...</a><br /></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="structmeta_1_1bind__front.html">meta::bind_front&lt; Fn, Ts &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An invocable that partially applies the invocable <code>Fn</code> by binding the arguments <code>Ts</code> to the <em>front</em> of <code>Fn</code>. <a href="structmeta_1_1bind__front.html#details">More...</a><br /></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="structmeta_1_1compose__.html">meta::compose_&lt; Fns &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compose the Invocables <code>Fns</code> in the parameter pack <code>Ts</code>. <a href="structmeta_1_1compose__.html#details">More...</a><br /></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="structmeta_1_1compose___3_01Fn0_01_4.html">meta::compose_&lt; Fn0 &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="structmeta_1_1compose___3_01Fn0_00_01Fns_8_8_8_01_4.html">meta::compose_&lt; Fn0, Fns... &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="structmeta_1_1defer.html">meta::defer&lt; C, Ts &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper that defers the instantiation of a template <code>C</code> with type parameters <code>Ts</code> in a <code>lambda</code> or <code>let</code> expression. <a href="structmeta_1_1defer.html#details">More...</a><br /></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="structmeta_1_1defer__i.html">meta::defer_i&lt; T, C, Is &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper that defers the instantiation of a template <code>C</code> with integral constant parameters <code>Is</code> in a <code>lambda</code> or <code>let</code> expression. <a href="structmeta_1_1defer__i.html#details">More...</a><br /></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="structmeta_1_1detail_1_1count__.html">meta::detail::count_&lt; typename, typename &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="structmeta_1_1detail_1_1count___3_01list_3_01L_8_8_8_01_4_00_01T_01_4.html">meta::detail::count_&lt; list&lt; L... &gt;, 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="structmeta_1_1detail_1_1count___3_01list_3_4_00_01T_01_4.html">meta::detail::count_&lt; list&lt;&gt;, 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="structmeta_1_1detail_1_1count__if__.html">meta::detail::count_if_&lt; L, Fn, typename &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="structmeta_1_1detail_1_1count__if___3_01list_3_01L_8_8_8_01_4_00_01Fn_00_01void___3_01integer__se90174dac7a19816c0ac232b16738a90.html">meta::detail::count_if_&lt; list&lt; L... &gt;, Fn, void_&lt; integer_sequence&lt; bool, bool(invoke&lt; Fn, L &gt;::type::value)... &gt; &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="structmeta_1_1detail_1_1count__if___3_01list_3_4_00_01Fn_01_4.html">meta::detail::count_if_&lt; list&lt;&gt;, 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="structmeta_1_1extension_1_1apply.html">meta::extension::apply&lt; Fn, L &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A trait that unpacks the types in the type list <code>L</code> into the invocable <code>Fn</code>. <a href="structmeta_1_1extension_1_1apply.html#details">More...</a><br /></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="structmeta_1_1extension_1_1apply_3_01Fn_00_01integer__sequence_3_01T_00_01Is_8_8_8_01_4_01_4.html">meta::extension::apply&lt; Fn, integer_sequence&lt; T, Is... &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="structmeta_1_1extension_1_1apply_3_01Fn_00_01Ret_07Args_8_8_8_08_4.html">meta::extension::apply&lt; Fn, Ret(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="structmeta_1_1extension_1_1apply_3_01Fn_00_01T_3_01Ts_8_8_8_01_4_01_4.html">meta::extension::apply&lt; Fn, T&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="structmeta_1_1flip.html">meta::flip&lt; Fn &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An invocable that reverses the order of the first two arguments. <a href="structmeta_1_1flip.html#details">More...</a><br /></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="structmeta_1_1id.html">meta::id&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A trait that always returns its argument <code>T</code>. It is also an invocable that always returns <code>T</code>. <a href="structmeta_1_1id.html#details">More...</a><br /></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="structmeta_1_1integer__sequence.html">meta::integer_sequence&lt; T, Is &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A container for a sequence of compile-time integer constants. <a href="structmeta_1_1integer__sequence.html#details">More...</a><br /></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="structmeta_1_1list.html">meta::list&lt; Ts &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of types. <a href="structmeta_1_1list.html#details">More...</a><br /></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="structmeta_1_1nil__.html">meta::nil_</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An empty type. <a href="structmeta_1_1nil__.html#details">More...</a><br /></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="structmeta_1_1or__c.html">meta::or_c&lt; Bs &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logically OR together all the Boolean parameters. <a href="structmeta_1_1or__c.html#details">More...</a><br /></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="structmeta_1_1quote.html">meta::quote&lt; C &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn a template <code>C</code> into an invocable. <a href="structmeta_1_1quote.html#details">More...</a><br /></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="structmeta_1_1quote__i.html">meta::quote_i&lt; T, C &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn a template <code>C</code> taking literals of type <code>T</code> into a invocable. <a href="structmeta_1_1quote__i.html#details">More...</a><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="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemeta"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemeta.html">meta</a></td></tr>
<tr class="memdesc:namespacemeta"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tiny metaprogramming library. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemeta_1_1extension"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemeta_1_1extension.html">meta::extension</a></td></tr>
<tr class="memdesc:namespacemeta_1_1extension"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extend meta with your own datatypes. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemeta_1_1lazy"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemeta_1_1lazy.html">meta::lazy</a></td></tr>
<tr class="memdesc:namespacemeta_1_1lazy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lazy versions of meta actions. <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="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aad0b92f3b95f5f068b52fbea3343990b"><td class="memItemLeft" align="right" valign="top"><a id="aad0b92f3b95f5f068b52fbea3343990b" name="aad0b92f3b95f5f068b52fbea3343990b"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>meta::_args</b> = vararg&lt; void &gt;</td></tr>
<tr class="separator:aad0b92f3b95f5f068b52fbea3343990b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf4020b625acb6fddb156683e744557e"><td class="memItemLeft" align="right" valign="top"><a id="abf4020b625acb6fddb156683e744557e" name="abf4020b625acb6fddb156683e744557e"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>meta::_args_a</b> = vararg&lt; _a &gt;</td></tr>
<tr class="separator:abf4020b625acb6fddb156683e744557e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa59ba1219cade0cf7daa467cad027e76"><td class="memItemLeft" align="right" valign="top"><a id="aa59ba1219cade0cf7daa467cad027e76" name="aa59ba1219cade0cf7daa467cad027e76"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>meta::_args_b</b> = vararg&lt; _b &gt;</td></tr>
<tr class="separator:aa59ba1219cade0cf7daa467cad027e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a577e498f7912b1393ebda6e108ef5091"><td class="memItemLeft" align="right" valign="top"><a id="a577e498f7912b1393ebda6e108ef5091" name="a577e498f7912b1393ebda6e108ef5091"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>meta::_args_c</b> = vararg&lt; _c &gt;</td></tr>
<tr class="separator:a577e498f7912b1393ebda6e108ef5091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08e2193149605769f6052795ff0a87b1"><td class="memTemplParams" colspan="2">
template&lt;trait T&gt; </td></tr>
<tr class="memitem:ga08e2193149605769f6052795ff0a87b1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::_t</b> = typename T::type</td></tr>
<tr class="memdesc:ga08e2193149605769f6052795ff0a87b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type alias for <code>T::type</code>. <br /></td></tr>
<tr class="separator:ga08e2193149605769f6052795ff0a87b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d4a0cc97311cd8cdc1903cd3cf43b60"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga5d4a0cc97311cd8cdc1903cd3cf43b60"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__invocation.html#ga5d4a0cc97311cd8cdc1903cd3cf43b60">meta::lazy::_t</a> = defer&lt; _t, T &gt;</td></tr>
<tr class="separator:ga5d4a0cc97311cd8cdc1903cd3cf43b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadec7869718bf0ddf69579775156b351d"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename State , invocable Fn&gt; </td></tr>
<tr class="memitem:gadec7869718bf0ddf69579775156b351d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gadec7869718bf0ddf69579775156b351d">meta::accumulate</a> = fold&lt; L, State, Fn &gt;</td></tr>
<tr class="memdesc:gadec7869718bf0ddf69579775156b351d"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias for <code><a class="el" href="group__transformation.html#gace05917716be9857eb49b847b17548ff" title="Return a new meta::list constructed by doing a left fold of the list L using binary invocable Fn and ...">meta::fold</a></code>. <a href="group__transformation.html#gadec7869718bf0ddf69579775156b351d">More...</a><br /></td></tr>
<tr class="separator:gadec7869718bf0ddf69579775156b351d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96812ae7697cd753a04ebb4d231f11f8"><td class="memTemplParams" colspan="2">template&lt;typename L , typename State , typename Fn &gt; </td></tr>
<tr class="memitem:ga96812ae7697cd753a04ebb4d231f11f8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga96812ae7697cd753a04ebb4d231f11f8">meta::lazy::accumulate</a> = defer&lt; accumulate, L, State, Fn &gt;</td></tr>
<tr class="separator:ga96812ae7697cd753a04ebb4d231f11f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf366475425d8cc039017a378caceeb89"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf366475425d8cc039017a378caceeb89"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__trait.html#gaf366475425d8cc039017a378caceeb89">meta::alignof_</a> = <a class="el" href="group__integral.html#ga92ba0e8ad97a32c34cec51aa6d4f8679">meta::size_t</a>&lt; alignof(T)&gt;</td></tr>
<tr class="memdesc:gaf366475425d8cc039017a378caceeb89"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias that computes the alignment required for any instance of the type <code>T</code>. <a href="group__trait.html#gaf366475425d8cc039017a378caceeb89">More...</a><br /></td></tr>
<tr class="separator:gaf366475425d8cc039017a378caceeb89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga039c10aeb78c0a4596830e8d1f860ed6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga039c10aeb78c0a4596830e8d1f860ed6"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__trait.html#ga039c10aeb78c0a4596830e8d1f860ed6">meta::lazy::alignof_</a> = defer&lt; alignof_, T &gt;</td></tr>
<tr class="separator:ga039c10aeb78c0a4596830e8d1f860ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae65ae2955249d7b8322e1135f680103b"><td class="memTemplParams" colspan="2">template&lt;list_like L, invocable Fn&gt; </td></tr>
<tr class="memitem:gae65ae2955249d7b8322e1135f680103b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#gae65ae2955249d7b8322e1135f680103b">meta::all_of</a> = empty&lt; find_if&lt; L, not_fn&lt; Fn &gt; &gt; &gt;</td></tr>
<tr class="memdesc:gae65ae2955249d7b8322e1135f680103b"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around <code>true</code> if <code>invoke&lt;Fn, A&gt;::value</code> is <code>true</code> for all elements <code>A</code> in <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> <code>L</code>; <code>false</code>, otherwise. <a href="group__query.html#gae65ae2955249d7b8322e1135f680103b">More...</a><br /></td></tr>
<tr class="separator:gae65ae2955249d7b8322e1135f680103b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94c7bfb104bbe50874f280f59a624477"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Fn &gt; </td></tr>
<tr class="memitem:ga94c7bfb104bbe50874f280f59a624477"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#ga94c7bfb104bbe50874f280f59a624477">meta::lazy::all_of</a> = defer&lt; all_of, L, Fn &gt;</td></tr>
<tr class="separator:ga94c7bfb104bbe50874f280f59a624477"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5fb9c50c97365f0981dceef2f2759f2e"><td class="memTemplParams" colspan="2">
template&lt;typename... Bs&gt; </td></tr>
<tr class="memitem:ga5fb9c50c97365f0981dceef2f2759f2e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::and_</b> = _t&lt; detail::_and_&lt; Bs... &gt; &gt;</td></tr>
<tr class="memdesc:ga5fb9c50c97365f0981dceef2f2759f2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logically AND together all the integral constant-wrapped Boolean parameters, <em>with</em> short-circuiting. <br /></td></tr>
<tr class="separator:ga5fb9c50c97365f0981dceef2f2759f2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad308c19572f36349d611c4e5e8457550"><td class="memTemplParams" colspan="2">template&lt;typename... Bs&gt; </td></tr>
<tr class="memitem:gad308c19572f36349d611c4e5e8457550"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__logical.html#gad308c19572f36349d611c4e5e8457550">meta::lazy::and_</a> = defer&lt; and_, Bs... &gt;</td></tr>
<tr class="separator:gad308c19572f36349d611c4e5e8457550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga458c0596c85f41edc60b5230e76087e1"><td class="memTemplParams" colspan="2">template&lt;list_like L, invocable Fn&gt; </td></tr>
<tr class="memitem:ga458c0596c85f41edc60b5230e76087e1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#ga458c0596c85f41edc60b5230e76087e1">meta::any_of</a> = not_&lt; empty&lt; find_if&lt; L, Fn &gt; &gt; &gt;</td></tr>
<tr class="memdesc:ga458c0596c85f41edc60b5230e76087e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around <code>true</code> if <code>invoke&lt;Fn, A&gt;::value</code> is <code>true</code> for any element <code>A</code> in <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> <code>L</code>; <code>false</code>, otherwise. <a href="group__query.html#ga458c0596c85f41edc60b5230e76087e1">More...</a><br /></td></tr>
<tr class="separator:ga458c0596c85f41edc60b5230e76087e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae0682664bcebd1e81441f9a0a66e0a0"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Fn &gt; </td></tr>
<tr class="memitem:gaae0682664bcebd1e81441f9a0a66e0a0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#gaae0682664bcebd1e81441f9a0a66e0a0">meta::lazy::any_of</a> = defer&lt; any_of, L, Fn &gt;</td></tr>
<tr class="separator:gaae0682664bcebd1e81441f9a0a66e0a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f71f17b6a6b48ea99134ddabd0e19a9"><td class="memTemplParams" colspan="2">
template&lt;invocable Fn, typename L &gt; </td></tr>
<tr class="memitem:ga2f71f17b6a6b48ea99134ddabd0e19a9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::apply</b> = _t&lt; extension::apply&lt; Fn, L &gt; &gt;</td></tr>
<tr class="memdesc:ga2f71f17b6a6b48ea99134ddabd0e19a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies the invocable <code>Fn</code> using the types in the type list <code>L</code> as arguments. <br /></td></tr>
<tr class="separator:ga2f71f17b6a6b48ea99134ddabd0e19a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16948bd1992e56b00161db65a80122d1"><td class="memTemplParams" colspan="2"><a id="a16948bd1992e56b00161db65a80122d1" name="a16948bd1992e56b00161db65a80122d1"></a>
template&lt;typename Fn , typename L &gt; </td></tr>
<tr class="memitem:a16948bd1992e56b00161db65a80122d1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::lazy::apply</b> = defer&lt; apply, Fn, L &gt;</td></tr>
<tr class="separator:a16948bd1992e56b00161db65a80122d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee98eb04d205d60b5bea16c8313f5a94"><td class="memTemplParams" colspan="2">
template&lt;typename Sequence &gt; </td></tr>
<tr class="memitem:gaee98eb04d205d60b5bea16c8313f5a94"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::as_list</b> = _t&lt; detail::as_list_&lt; detail::uncvref_t&lt; Sequence &gt; &gt; &gt;</td></tr>
<tr class="memdesc:gaee98eb04d205d60b5bea16c8313f5a94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn a type into an instance of <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> in a way determined by <code><a class="el" href="group__invocation.html#ga2f71f17b6a6b48ea99134ddabd0e19a9" title="Applies the invocable Fn using the types in the type list L as arguments.">meta::apply</a></code>. <br /></td></tr>
<tr class="separator:gaee98eb04d205d60b5bea16c8313f5a94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee18adf84cd7781d4b90a6052ae693a4"><td class="memTemplParams" colspan="2">template&lt;typename Sequence &gt; </td></tr>
<tr class="memitem:gaee18adf84cd7781d4b90a6052ae693a4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#gaee18adf84cd7781d4b90a6052ae693a4">meta::lazy::as_list</a> = defer&lt; as_list, Sequence &gt;</td></tr>
<tr class="separator:gaee18adf84cd7781d4b90a6052ae693a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafb0a3195c31ec1fa288abbf1574ece9"><td class="memTemplParams" colspan="2">template&lt;list_like L, integral N&gt; </td></tr>
<tr class="memitem:gaafb0a3195c31ec1fa288abbf1574ece9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__list.html#gaafb0a3195c31ec1fa288abbf1574ece9">meta::at</a> = at_c&lt; L, N::type::value &gt;</td></tr>
<tr class="memdesc:gaafb0a3195c31ec1fa288abbf1574ece9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <code>N</code> th element in the <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> <code>L</code>. <a href="group__list.html#gaafb0a3195c31ec1fa288abbf1574ece9">More...</a><br /></td></tr>
<tr class="separator:gaafb0a3195c31ec1fa288abbf1574ece9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11d8dd762ed50a81733aaff3150d94bb"><td class="memTemplParams" colspan="2">template&lt;typename L , typename N &gt; </td></tr>
<tr class="memitem:ga11d8dd762ed50a81733aaff3150d94bb"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#ga11d8dd762ed50a81733aaff3150d94bb">meta::lazy::at</a> = defer&lt; at, L, N &gt;</td></tr>
<tr class="separator:ga11d8dd762ed50a81733aaff3150d94bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21fdd87907bc0824431933b4b1ddcaa7"><td class="memTemplParams" colspan="2">template&lt;list_like L, std::size_t N&gt; </td></tr>
<tr class="memitem:ga21fdd87907bc0824431933b4b1ddcaa7"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__list.html#ga21fdd87907bc0824431933b4b1ddcaa7">meta::at_c</a> = _t&lt; detail::at_&lt; L, N &gt; &gt;</td></tr>
<tr class="memdesc:ga21fdd87907bc0824431933b4b1ddcaa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <code>N</code> th element in the <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> <code>L</code>. <a href="group__list.html#ga21fdd87907bc0824431933b4b1ddcaa7">More...</a><br /></td></tr>
<tr class="separator:ga21fdd87907bc0824431933b4b1ddcaa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa222fcdf6b582fb8c92fb737702c5b9b"><td class="memTemplParams" colspan="2">template&lt;list_like L&gt; </td></tr>
<tr class="memitem:gaa222fcdf6b582fb8c92fb737702c5b9b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__list.html#gaa222fcdf6b582fb8c92fb737702c5b9b">meta::back</a> = _t&lt; detail::back_&lt; L &gt; &gt;</td></tr>
<tr class="memdesc:gaa222fcdf6b582fb8c92fb737702c5b9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the last element in <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> <code>L</code>. <a href="group__list.html#gaa222fcdf6b582fb8c92fb737702c5b9b">More...</a><br /></td></tr>
<tr class="separator:gaa222fcdf6b582fb8c92fb737702c5b9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab32f057a3311ea7ab0d52d421983be35"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
<tr class="memitem:gab32f057a3311ea7ab0d52d421983be35"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#gab32f057a3311ea7ab0d52d421983be35">meta::lazy::back</a> = defer&lt; back, L &gt;</td></tr>
<tr class="separator:gab32f057a3311ea7ab0d52d421983be35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae41e4e74e99239ffb097b8be64e38350"><td class="memTemplParams" colspan="2">template&lt;typename Fn , typename... Ts&gt; </td></tr>
<tr class="memitem:gae41e4e74e99239ffb097b8be64e38350"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__composition.html#gae41e4e74e99239ffb097b8be64e38350">meta::lazy::bind_back</a> = defer&lt; bind_back, Fn, Ts... &gt;</td></tr>
<tr class="separator:gae41e4e74e99239ffb097b8be64e38350"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c923f50dbaede9cc03755903d65f984"><td class="memTemplParams" colspan="2">template&lt;typename Fn , typename... Ts&gt; </td></tr>
<tr class="memitem:ga0c923f50dbaede9cc03755903d65f984"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__composition.html#ga0c923f50dbaede9cc03755903d65f984">meta::lazy::bind_front</a> = defer&lt; bind_front, Fn, Ts... &gt;</td></tr>
<tr class="separator:ga0c923f50dbaede9cc03755903d65f984"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34d588aaca15812df2d4af67863bcfb4"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:ga34d588aaca15812df2d4af67863bcfb4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::bit_and</b> = std::integral_constant&lt; decltype(T::type::value &amp;U::type::value), T::type::value &amp;U::type::value &gt;</td></tr>
<tr class="memdesc:ga34d588aaca15812df2d4af67863bcfb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of bitwise-and'ing the two wrapped integers <code>T::type::value</code> and <code>U::type::value</code>. <br /></td></tr>
<tr class="separator:ga34d588aaca15812df2d4af67863bcfb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5beeaf0a55dca594206a77c2c3520d0"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:gac5beeaf0a55dca594206a77c2c3520d0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#gac5beeaf0a55dca594206a77c2c3520d0">meta::lazy::bit_and</a> = defer&lt; bit_and, T, U &gt;</td></tr>
<tr class="separator:gac5beeaf0a55dca594206a77c2c3520d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7123fd4e34449e1357f8230c1c142f58"><td class="memTemplParams" colspan="2">
template&lt;integral T&gt; </td></tr>
<tr class="memitem:ga7123fd4e34449e1357f8230c1c142f58"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::bit_not</b> = std::integral_constant&lt; decltype(~T::type::value), ~T::type::value &gt;</td></tr>
<tr class="memdesc:ga7123fd4e34449e1357f8230c1c142f58"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of bitwise-complementing the wrapped integer <code>T::type::value</code>. <br /></td></tr>
<tr class="separator:ga7123fd4e34449e1357f8230c1c142f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd324652050d5f60535ea469bdee8ba4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gacd324652050d5f60535ea469bdee8ba4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#gacd324652050d5f60535ea469bdee8ba4">meta::lazy::bit_not</a> = defer&lt; bit_not, T &gt;</td></tr>
<tr class="separator:gacd324652050d5f60535ea469bdee8ba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ae6f56a9b7c7f29593cd48812ce09ca"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:ga5ae6f56a9b7c7f29593cd48812ce09ca"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::bit_or</b> = std::integral_constant&lt; decltype(T::type::value|U::type::value), T::type::value|U::type::value &gt;</td></tr>
<tr class="memdesc:ga5ae6f56a9b7c7f29593cd48812ce09ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of bitwise-or'ing the two wrapped integers <code>T::type::value</code> and <code>U::type::value</code>. <br /></td></tr>
<tr class="separator:ga5ae6f56a9b7c7f29593cd48812ce09ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a6c0ca1048b5a877938e8a2d0809134"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:ga6a6c0ca1048b5a877938e8a2d0809134"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga6a6c0ca1048b5a877938e8a2d0809134">meta::lazy::bit_or</a> = defer&lt; bit_or, T, U &gt;</td></tr>
<tr class="separator:ga6a6c0ca1048b5a877938e8a2d0809134"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bc30e36ab8d456a9907e1f16cf21976"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:ga1bc30e36ab8d456a9907e1f16cf21976"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::bit_xor</b> = std::integral_constant&lt; decltype(T::type::value ^ U::type::value), T::type::value ^ U::type::value &gt;</td></tr>
<tr class="memdesc:ga1bc30e36ab8d456a9907e1f16cf21976"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of bitwise-exclusive-or'ing the two wrapped integers <code>T::type::value</code> and <code>U::type::value</code>. <br /></td></tr>
<tr class="separator:ga1bc30e36ab8d456a9907e1f16cf21976"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeabb12c687c3e43776deaa75bc49c83b"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:gaeabb12c687c3e43776deaa75bc49c83b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#gaeabb12c687c3e43776deaa75bc49c83b">meta::lazy::bit_xor</a> = defer&lt; bit_xor, T, U &gt;</td></tr>
<tr class="separator:gaeabb12c687c3e43776deaa75bc49c83b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8cd5c79222ce70365f7469f35ece905a"><td class="memTemplParams" colspan="2">
template&lt;bool B&gt; </td></tr>
<tr class="memitem:ga8cd5c79222ce70365f7469f35ece905a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::bool_</b> = std::integral_constant&lt; bool, B &gt;</td></tr>
<tr class="memdesc:ga8cd5c79222ce70365f7469f35ece905a"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper for <code>bool</code>. <br /></td></tr>
<tr class="separator:ga8cd5c79222ce70365f7469f35ece905a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e408243147a04c1ca2742211e3c0982"><td class="memTemplParams" colspan="2">template&lt;list_like ListOfLists&gt; </td></tr>
<tr class="memitem:ga5e408243147a04c1ca2742211e3c0982"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga5e408243147a04c1ca2742211e3c0982">meta::cartesian_product</a> = reverse_fold&lt; ListOfLists, list&lt; list&lt;&gt; &gt;, quote_trait&lt; detail::cartesian_product_fn &gt; &gt;</td></tr>
<tr class="memdesc:ga5e408243147a04c1ca2742211e3c0982"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a list of lists <code>ListOfLists</code>, return a new list of lists that is the Cartesian Product. Like the <code>sequence</code> function from the Haskell Prelude. <a href="group__transformation.html#ga5e408243147a04c1ca2742211e3c0982">More...</a><br /></td></tr>
<tr class="separator:ga5e408243147a04c1ca2742211e3c0982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7618cffe976d0c5158c683c9186c4af0"><td class="memTemplParams" colspan="2">template&lt;typename ListOfLists &gt; </td></tr>
<tr class="memitem:ga7618cffe976d0c5158c683c9186c4af0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga7618cffe976d0c5158c683c9186c4af0">meta::lazy::cartesian_product</a> = defer&lt; cartesian_product, ListOfLists &gt;</td></tr>
<tr class="separator:ga7618cffe976d0c5158c683c9186c4af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22c6fcac17e490346cbe68750a6a9d2f"><td class="memTemplParams" colspan="2">
template&lt;char Ch&gt; </td></tr>
<tr class="memitem:ga22c6fcac17e490346cbe68750a6a9d2f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::char_</b> = std::integral_constant&lt; char, Ch &gt;</td></tr>
<tr class="memdesc:ga22c6fcac17e490346cbe68750a6a9d2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper for <code>char</code>. <br /></td></tr>
<tr class="separator:ga22c6fcac17e490346cbe68750a6a9d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4aeeea84964e4fec3ecb454766431a5"><td class="memTemplParams" colspan="2"><a id="ab4aeeea84964e4fec3ecb454766431a5" name="ab4aeeea84964e4fec3ecb454766431a5"></a>
template&lt;typename... Fns&gt; </td></tr>
<tr class="memitem:ab4aeeea84964e4fec3ecb454766431a5"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::compose</b> = compose_&lt; Fns... &gt;</td></tr>
<tr class="separator:ab4aeeea84964e4fec3ecb454766431a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3174f1e6fadebf7d11f3934c93911706"><td class="memTemplParams" colspan="2">template&lt;typename... Fns&gt; </td></tr>
<tr class="memitem:ga3174f1e6fadebf7d11f3934c93911706"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__composition.html#ga3174f1e6fadebf7d11f3934c93911706">meta::lazy::compose</a> = defer&lt; compose, Fns... &gt;</td></tr>
<tr class="separator:ga3174f1e6fadebf7d11f3934c93911706"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadb66468b5a3e40fde75a05937b676b8"><td class="memTemplParams" colspan="2"><a id="aadb66468b5a3e40fde75a05937b676b8" name="aadb66468b5a3e40fde75a05937b676b8"></a>
template&lt;typename... Lists&gt; </td></tr>
<tr class="memitem:aadb66468b5a3e40fde75a05937b676b8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::concat</b> = concat_&lt; Lists... &gt;</td></tr>
<tr class="separator:aadb66468b5a3e40fde75a05937b676b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2a5a4b7b5c4542f2d2009a239c4fcea"><td class="memTemplParams" colspan="2">template&lt;typename... Lists&gt; </td></tr>
<tr class="memitem:gab2a5a4b7b5c4542f2d2009a239c4fcea"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gab2a5a4b7b5c4542f2d2009a239c4fcea">meta::lazy::concat</a> = defer&lt; concat, Lists... &gt;</td></tr>
<tr class="separator:gab2a5a4b7b5c4542f2d2009a239c4fcea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d0d695134bd6b94698ae4f1c0d2f553"><td class="memTemplParams" colspan="2">template&lt;list_like ... Ls&gt; </td></tr>
<tr class="memitem:ga8d0d695134bd6b94698ae4f1c0d2f553"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga8d0d695134bd6b94698ae4f1c0d2f553">meta::concat_</a> = _t&lt; detail::concat_&lt; Ls... &gt; &gt;</td></tr>
<tr class="memdesc:ga8d0d695134bd6b94698ae4f1c0d2f553"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concatenates several lists into a single list. <a href="group__transformation.html#ga8d0d695134bd6b94698ae4f1c0d2f553">More...</a><br /></td></tr>
<tr class="separator:ga8d0d695134bd6b94698ae4f1c0d2f553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9fbf879d37e7406c5f3c026e6ed37b59"><td class="memTemplParams" colspan="2">
template&lt;bool If, typename Then , typename Else = void&gt; </td></tr>
<tr class="memitem:ga9fbf879d37e7406c5f3c026e6ed37b59"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::conditional_t</b> = typename detail::_cond&lt; If &gt;::template invoke&lt; Then, Else &gt;</td></tr>
<tr class="memdesc:ga9fbf879d37e7406c5f3c026e6ed37b59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select one type or another depending on a compile-time Boolean. <br /></td></tr>
<tr class="separator:ga9fbf879d37e7406c5f3c026e6ed37b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a395b36c7a028e67cf7cbaa28ab3ccc"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename T &gt; </td></tr>
<tr class="memitem:ga8a395b36c7a028e67cf7cbaa28ab3ccc"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#ga8a395b36c7a028e67cf7cbaa28ab3ccc">meta::count</a> = _t&lt; detail::count_&lt; L, T &gt; &gt;</td></tr>
<tr class="memdesc:ga8a395b36c7a028e67cf7cbaa28ab3ccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count the number of times a type <code>T</code> appears in the list <code>L</code>. <a href="group__query.html#ga8a395b36c7a028e67cf7cbaa28ab3ccc">More...</a><br /></td></tr>
<tr class="separator:ga8a395b36c7a028e67cf7cbaa28ab3ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44cd30c6742c876e0ecef6e741c1b10f"><td class="memTemplParams" colspan="2">template&lt;typename L , typename T &gt; </td></tr>
<tr class="memitem:ga44cd30c6742c876e0ecef6e741c1b10f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#ga44cd30c6742c876e0ecef6e741c1b10f">meta::lazy::count</a> = defer&lt; count, L, T &gt;</td></tr>
<tr class="separator:ga44cd30c6742c876e0ecef6e741c1b10f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga665bd44f6d231438a3200df8030f593a"><td class="memTemplParams" colspan="2">template&lt;list_like L, invocable Fn&gt; </td></tr>
<tr class="memitem:ga665bd44f6d231438a3200df8030f593a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#ga665bd44f6d231438a3200df8030f593a">meta::count_if</a> = _t&lt; detail::count_if_&lt; L, Fn &gt; &gt;</td></tr>
<tr class="memdesc:ga665bd44f6d231438a3200df8030f593a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count the number of times the predicate <code>Fn</code> evaluates to true for all the elements in the list <code>L</code>. <a href="group__query.html#ga665bd44f6d231438a3200df8030f593a">More...</a><br /></td></tr>
<tr class="separator:ga665bd44f6d231438a3200df8030f593a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2490225acf969acd94baf974a99c4f8"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Fn &gt; </td></tr>
<tr class="memitem:gae2490225acf969acd94baf974a99c4f8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#gae2490225acf969acd94baf974a99c4f8">meta::lazy::count_if</a> = defer&lt; count_if, L, Fn &gt;</td></tr>
<tr class="separator:gae2490225acf969acd94baf974a99c4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf3f1c009ba67c7274eedea5bf9442c27"><td class="memTemplParams" colspan="2">
template&lt;invocable Fn, invocable Q = quote&lt;list&gt;&gt; </td></tr>
<tr class="memitem:gaf3f1c009ba67c7274eedea5bf9442c27"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::curry</b> = compose&lt; Fn, Q &gt;</td></tr>
<tr class="memdesc:gaf3f1c009ba67c7274eedea5bf9442c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">An invocable that takes a bunch of arguments, bundles them into a type list, and then calls the invocable <code>Fn</code> with the type list <code>Q</code>. <br /></td></tr>
<tr class="separator:gaf3f1c009ba67c7274eedea5bf9442c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa7bb638895f060caafb347e38253ce40"><td class="memTemplParams" colspan="2">template&lt;typename Fn , typename Q = quote&lt;list&gt;&gt; </td></tr>
<tr class="memitem:gaa7bb638895f060caafb347e38253ce40"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__composition.html#gaa7bb638895f060caafb347e38253ce40">meta::lazy::curry</a> = defer&lt; curry, Fn, Q &gt;</td></tr>
<tr class="separator:gaa7bb638895f060caafb347e38253ce40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed9000d5b6ace97758eb43190482500f"><td class="memTemplParams" colspan="2"><a id="aed9000d5b6ace97758eb43190482500f" name="aed9000d5b6ace97758eb43190482500f"></a>
template&lt;integral T&gt; </td></tr>
<tr class="memitem:aed9000d5b6ace97758eb43190482500f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::dec</b> = std::integral_constant&lt; decltype(T::type::value - 1), T::type::value - 1 &gt;</td></tr>
<tr class="memdesc:aed9000d5b6ace97758eb43190482500f"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of decrementing the wrapped integer <code>T::type::value</code>. <br /></td></tr>
<tr class="separator:aed9000d5b6ace97758eb43190482500f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ca9798e93f8c038bcfd079e8d7d564b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga2ca9798e93f8c038bcfd079e8d7d564b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga2ca9798e93f8c038bcfd079e8d7d564b">meta::lazy::dec</a> = defer&lt; dec, T &gt;</td></tr>
<tr class="separator:ga2ca9798e93f8c038bcfd079e8d7d564b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5fef8be9ed0280ec1553a8f3cc5d85a1"><td class="memTemplParams" colspan="2">template&lt;template&lt; typename... &gt; class C, typename... Ts&gt; </td></tr>
<tr class="memitem:ga5fef8be9ed0280ec1553a8f3cc5d85a1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__invocation.html#ga5fef8be9ed0280ec1553a8f3cc5d85a1">meta::defer_trait</a> = defer&lt; detail::_t_t, detail::defer_&lt; C, Ts... &gt; &gt;</td></tr>
<tr class="memdesc:ga5fef8be9ed0280ec1553a8f3cc5d85a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper that defers the instantiation of a trait <code>C</code> with type parameters <code>Ts</code> in a <code>lambda</code> or <code>let</code> expression. <a href="group__invocation.html#ga5fef8be9ed0280ec1553a8f3cc5d85a1">More...</a><br /></td></tr>
<tr class="separator:ga5fef8be9ed0280ec1553a8f3cc5d85a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga596c8fb8ea9eebc4892c682c14c0064f"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; T... &gt; class C, T... Is&gt; </td></tr>
<tr class="memitem:ga596c8fb8ea9eebc4892c682c14c0064f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__invocation.html#ga596c8fb8ea9eebc4892c682c14c0064f">meta::defer_trait_i</a> = defer&lt; detail::_t_t, detail::defer_i_&lt; T, C, Is... &gt; &gt;</td></tr>
<tr class="memdesc:ga596c8fb8ea9eebc4892c682c14c0064f"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper that defers the instantiation of a trait <code>C</code> with integral constant parameters <code>Is</code> in a <code>lambda</code> or <code>let</code> expression. <a href="group__invocation.html#ga596c8fb8ea9eebc4892c682c14c0064f">More...</a><br /></td></tr>
<tr class="separator:ga596c8fb8ea9eebc4892c682c14c0064f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d16896fb397ec3ded21808fc2749b41"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:ga4d16896fb397ec3ded21808fc2749b41"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::divides</b> = std::integral_constant&lt; decltype(T::type::value/U::type::value), T::type::value/U::type::value &gt;</td></tr>
<tr class="memdesc:ga4d16896fb397ec3ded21808fc2749b41"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of dividing the two wrapped integers <code>T::type::value</code> and <code>U::type::value</code>. <br /></td></tr>
<tr class="separator:ga4d16896fb397ec3ded21808fc2749b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1da11678b66429e1e05b9b2360f7344"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:gaf1da11678b66429e1e05b9b2360f7344"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#gaf1da11678b66429e1e05b9b2360f7344">meta::lazy::divides</a> = defer&lt; divides, T, U &gt;</td></tr>
<tr class="separator:gaf1da11678b66429e1e05b9b2360f7344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4883188d34dd23dc949f737c17a1a317"><td class="memTemplParams" colspan="2">template&lt;list_like L, integral N&gt; </td></tr>
<tr class="memitem:ga4883188d34dd23dc949f737c17a1a317"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga4883188d34dd23dc949f737c17a1a317">meta::drop</a> = drop_c&lt; L, N::type::value &gt;</td></tr>
<tr class="memdesc:ga4883188d34dd23dc949f737c17a1a317"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> by removing the first <code>N</code> elements from <code>L</code>. <a href="group__transformation.html#ga4883188d34dd23dc949f737c17a1a317">More...</a><br /></td></tr>
<tr class="separator:ga4883188d34dd23dc949f737c17a1a317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga355355c270cebd2f658951d2d0140699"><td class="memTemplParams" colspan="2">template&lt;typename L , typename N &gt; </td></tr>
<tr class="memitem:ga355355c270cebd2f658951d2d0140699"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga355355c270cebd2f658951d2d0140699">meta::lazy::drop</a> = defer&lt; drop, L, N &gt;</td></tr>
<tr class="separator:ga355355c270cebd2f658951d2d0140699"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8f2eb92a10b78f432a4430bc4d05ba9"><td class="memTemplParams" colspan="2">template&lt;list_like L, std::size_t N&gt; </td></tr>
<tr class="memitem:gac8f2eb92a10b78f432a4430bc4d05ba9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gac8f2eb92a10b78f432a4430bc4d05ba9">meta::drop_c</a> = _t&lt; detail::drop_&lt; L, N &gt; &gt;</td></tr>
<tr class="memdesc:gac8f2eb92a10b78f432a4430bc4d05ba9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> by removing the first <code>N</code> elements from <code>L</code>. <a href="group__transformation.html#gac8f2eb92a10b78f432a4430bc4d05ba9">More...</a><br /></td></tr>
<tr class="separator:gac8f2eb92a10b78f432a4430bc4d05ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae64f0978e680ad1a96438c0756b4644d"><td class="memTemplParams" colspan="2">template&lt;list_like L&gt; </td></tr>
<tr class="memitem:gae64f0978e680ad1a96438c0756b4644d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__list.html#gae64f0978e680ad1a96438c0756b4644d">meta::empty</a> = bool_&lt; 0==size&lt; L &gt;::type::value &gt;</td></tr>
<tr class="memdesc:gae64f0978e680ad1a96438c0756b4644d"><td class="mdescLeft">&#160;</td><td class="mdescRight">An Boolean integral constant wrapper around <code>true</code> if <code>L</code> is an empty type list; <code>false</code>, otherwise. <a href="group__list.html#gae64f0978e680ad1a96438c0756b4644d">More...</a><br /></td></tr>
<tr class="separator:gae64f0978e680ad1a96438c0756b4644d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39661a26574bdc30fc3b37adf1c82b58"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
<tr class="memitem:ga39661a26574bdc30fc3b37adf1c82b58"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#ga39661a26574bdc30fc3b37adf1c82b58">meta::lazy::empty</a> = defer&lt; empty, L &gt;</td></tr>
<tr class="separator:ga39661a26574bdc30fc3b37adf1c82b58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadccc21f4cad9bc9971798006950c48a2"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:gadccc21f4cad9bc9971798006950c48a2"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::equal_to</b> = bool_&lt; T::type::value==U::type::value &gt;</td></tr>
<tr class="memdesc:gadccc21f4cad9bc9971798006950c48a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around the result of comparing <code>T::type::value</code> and <code>U::type::value</code> for equality. <br /></td></tr>
<tr class="separator:gadccc21f4cad9bc9971798006950c48a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08dbb6a5b9b7d84ecffc3e26a11248c6"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:ga08dbb6a5b9b7d84ecffc3e26a11248c6"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga08dbb6a5b9b7d84ecffc3e26a11248c6">meta::lazy::equal_to</a> = defer&lt; equal_to, T, U &gt;</td></tr>
<tr class="separator:ga08dbb6a5b9b7d84ecffc3e26a11248c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac34d21074558f4ddc07a6206d5065619"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Pred &gt; </td></tr>
<tr class="memitem:gac34d21074558f4ddc07a6206d5065619"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gac34d21074558f4ddc07a6206d5065619">meta::filter</a> = <a class="el" href="structranges_1_1actions_1_1join__fn.html#a7241194d372366f90df5152cf065f869">join</a>&lt; transform&lt; L, detail::filter_&lt; Pred &gt; &gt; &gt;</td></tr>
<tr class="memdesc:gac34d21074558f4ddc07a6206d5065619"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a new <a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a> where only those elements of <code>L</code> that satisfy the Callable <code>Pred</code> such that <code>invoke&lt;Pred,A&gt;::value</code> is <code>true</code> are present. That is, those elements that don't satisfy the <code>Pred</code> are "removed". <a href="group__transformation.html#gac34d21074558f4ddc07a6206d5065619">More...</a><br /></td></tr>
<tr class="separator:gac34d21074558f4ddc07a6206d5065619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga982258533559aefa05953c94167d3a33"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Fn &gt; </td></tr>
<tr class="memitem:ga982258533559aefa05953c94167d3a33"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga982258533559aefa05953c94167d3a33">meta::lazy::filter</a> = defer&lt; filter, L, Fn &gt;</td></tr>
<tr class="separator:ga982258533559aefa05953c94167d3a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e7b439f707e529f3df7745ff7e2eb19"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename T &gt; </td></tr>
<tr class="memitem:ga4e7b439f707e529f3df7745ff7e2eb19"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#ga4e7b439f707e529f3df7745ff7e2eb19">meta::find</a> = drop&lt; L, min&lt; find_index&lt; L, T &gt;, size&lt; L &gt; &gt; &gt;</td></tr>
<tr class="memdesc:ga4e7b439f707e529f3df7745ff7e2eb19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the tail of the list <code>L</code> starting at the first occurrence of <code>T</code>, if any such element exists; the empty list, otherwise. <a href="group__query.html#ga4e7b439f707e529f3df7745ff7e2eb19">More...</a><br /></td></tr>
<tr class="separator:ga4e7b439f707e529f3df7745ff7e2eb19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae589e49d658820f9ffd7bffbcddde074"><td class="memTemplParams" colspan="2">template&lt;typename L , typename T &gt; </td></tr>
<tr class="memitem:gae589e49d658820f9ffd7bffbcddde074"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#gae589e49d658820f9ffd7bffbcddde074">meta::lazy::find</a> = defer&lt; find, L, T &gt;</td></tr>
<tr class="separator:gae589e49d658820f9ffd7bffbcddde074"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf33139f1b442de0272477e126d6d66a7"><td class="memTemplParams" colspan="2">template&lt;list_like L, invocable Fn&gt; </td></tr>
<tr class="memitem:gaf33139f1b442de0272477e126d6d66a7"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#gaf33139f1b442de0272477e126d6d66a7">meta::find_if</a> = _t&lt; detail::find_if_&lt; L, Fn &gt; &gt;</td></tr>
<tr class="memdesc:gaf33139f1b442de0272477e126d6d66a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the tail of the list <code>L</code> starting at the first element <code>A</code> such that <code>invoke&lt;Fn, A&gt;::value</code> is <code>true</code>, if any such element exists; the empty list, otherwise. <a href="group__query.html#gaf33139f1b442de0272477e126d6d66a7">More...</a><br /></td></tr>
<tr class="separator:gaf33139f1b442de0272477e126d6d66a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae049d33d83ee23ec567e3bd5c6d52e0b"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Fn &gt; </td></tr>
<tr class="memitem:gae049d33d83ee23ec567e3bd5c6d52e0b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#gae049d33d83ee23ec567e3bd5c6d52e0b">meta::lazy::find_if</a> = defer&lt; find_if, L, Fn &gt;</td></tr>
<tr class="separator:gae049d33d83ee23ec567e3bd5c6d52e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga613514a0b471a7a1eecabfe6c2e8963c"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename T &gt; </td></tr>
<tr class="memitem:ga613514a0b471a7a1eecabfe6c2e8963c"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#ga613514a0b471a7a1eecabfe6c2e8963c">meta::find_index</a> = _t&lt; detail::find_index_&lt; L, T &gt; &gt;</td></tr>
<tr class="memdesc:ga613514a0b471a7a1eecabfe6c2e8963c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the index of the first occurrence of the type <code>T</code> within the list <code>L</code>. Returns <code>#<a class="el" href="group__list.html#gac6b96d77cd4223043591fe6e5819ecf8" title="A special value used to indicate no matches. It equals the maximum value representable by std::size_t...">meta::npos</a></code> if the type <code>T</code> was not found. <a href="group__query.html#ga613514a0b471a7a1eecabfe6c2e8963c">More...</a><br /></td></tr>
<tr class="separator:ga613514a0b471a7a1eecabfe6c2e8963c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga836017d410c9fc37841c5f5a4266b0e0"><td class="memTemplParams" colspan="2">template&lt;typename L , typename T &gt; </td></tr>
<tr class="memitem:ga836017d410c9fc37841c5f5a4266b0e0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#ga836017d410c9fc37841c5f5a4266b0e0">meta::lazy::find_index</a> = defer&lt; find_index, L, T &gt;</td></tr>
<tr class="separator:ga836017d410c9fc37841c5f5a4266b0e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68418643d5aacd0ec2afe5a0e933ccf3"><td class="memTemplParams" colspan="2">
template&lt;typename Pair &gt; </td></tr>
<tr class="memitem:ga68418643d5aacd0ec2afe5a0e933ccf3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::first</b> = front&lt; Pair &gt;</td></tr>
<tr class="memdesc:ga68418643d5aacd0ec2afe5a0e933ccf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the first element of the <code>pair</code> <code>Pair</code>. <br /></td></tr>
<tr class="separator:ga68418643d5aacd0ec2afe5a0e933ccf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad60562ea8e00ee3af2c76a89e418522d"><td class="memTemplParams" colspan="2">template&lt;typename Pair &gt; </td></tr>
<tr class="memitem:gad60562ea8e00ee3af2c76a89e418522d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#gad60562ea8e00ee3af2c76a89e418522d">meta::lazy::first</a> = defer&lt; first, Pair &gt;</td></tr>
<tr class="separator:gad60562ea8e00ee3af2c76a89e418522d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8529d68fa182c68d47ef98b6107fbc06"><td class="memTemplParams" colspan="2">template&lt;typename Fn &gt; </td></tr>
<tr class="memitem:ga8529d68fa182c68d47ef98b6107fbc06"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__composition.html#ga8529d68fa182c68d47ef98b6107fbc06">meta::lazy::flip</a> = defer&lt; flip, Fn &gt;</td></tr>
<tr class="separator:ga8529d68fa182c68d47ef98b6107fbc06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace05917716be9857eb49b847b17548ff"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename State , invocable Fn&gt; </td></tr>
<tr class="memitem:gace05917716be9857eb49b847b17548ff"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gace05917716be9857eb49b847b17548ff">meta::fold</a> = _t&lt; detail::fold_&lt; L, State, Fn &gt; &gt;</td></tr>
<tr class="memdesc:gace05917716be9857eb49b847b17548ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> constructed by doing a left fold of the list <code>L</code> using binary invocable <code>Fn</code> and initial state <code>State</code>. That is, the <code>State(N)</code> for the list element <code>A(N)</code> is computed by <code>Fn(State(N-1), A(N)) -&gt; State(N)</code>. <a href="group__transformation.html#gace05917716be9857eb49b847b17548ff">More...</a><br /></td></tr>
<tr class="separator:gace05917716be9857eb49b847b17548ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2455ade845faf232e91bfc6b1eac2da"><td class="memTemplParams" colspan="2">template&lt;typename L , typename State , typename Fn &gt; </td></tr>
<tr class="memitem:gac2455ade845faf232e91bfc6b1eac2da"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gac2455ade845faf232e91bfc6b1eac2da">meta::lazy::fold</a> = defer&lt; fold, L, State, Fn &gt;</td></tr>
<tr class="separator:gac2455ade845faf232e91bfc6b1eac2da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd1d8e54275858523926ab20aa88ed0a"><td class="memTemplParams" colspan="2">template&lt;list_like L&gt; </td></tr>
<tr class="memitem:gadd1d8e54275858523926ab20aa88ed0a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__list.html#gadd1d8e54275858523926ab20aa88ed0a">meta::front</a> = _t&lt; detail::front_&lt; L &gt; &gt;</td></tr>
<tr class="memdesc:gadd1d8e54275858523926ab20aa88ed0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the first element in <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> <code>L</code>. <a href="group__list.html#gadd1d8e54275858523926ab20aa88ed0a">More...</a><br /></td></tr>
<tr class="separator:gadd1d8e54275858523926ab20aa88ed0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a528608fa6ec0a11456761b9255ffbc"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
<tr class="memitem:ga9a528608fa6ec0a11456761b9255ffbc"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#ga9a528608fa6ec0a11456761b9255ffbc">meta::lazy::front</a> = defer&lt; front, L &gt;</td></tr>
<tr class="separator:ga9a528608fa6ec0a11456761b9255ffbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4b1427cc9c4040ffca9845c068621ed"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:gaf4b1427cc9c4040ffca9845c068621ed"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::greater</b> = bool_&lt;(T::type::value &gt; U::type::value)&gt;</td></tr>
<tr class="memdesc:gaf4b1427cc9c4040ffca9845c068621ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around <code>true</code> if <code>T::type::value</code> is greater than <code>U::type::value</code>; <code>false</code>, otherwise. <br /></td></tr>
<tr class="separator:gaf4b1427cc9c4040ffca9845c068621ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06a0006d217126915598da03720f55e2"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:ga06a0006d217126915598da03720f55e2"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga06a0006d217126915598da03720f55e2">meta::lazy::greater</a> = defer&lt; greater, T, U &gt;</td></tr>
<tr class="separator:ga06a0006d217126915598da03720f55e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03eb74e40109672a931e14505c90f40d"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:ga03eb74e40109672a931e14505c90f40d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::greater_equal</b> = bool_&lt;(T::type::value &gt;=U::type::value)&gt;</td></tr>
<tr class="memdesc:ga03eb74e40109672a931e14505c90f40d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around <code>true</code> if <code>T::type::value</code> is greater than or equal to <code>U::type::value</code>; <code>false</code>, otherwise. <br /></td></tr>
<tr class="separator:ga03eb74e40109672a931e14505c90f40d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4389b2bccbe207c70f8f7e8dcb7791fc"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:ga4389b2bccbe207c70f8f7e8dcb7791fc"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga4389b2bccbe207c70f8f7e8dcb7791fc">meta::lazy::greater_equal</a> = defer&lt; greater_equal, T, U &gt;</td></tr>
<tr class="separator:ga4389b2bccbe207c70f8f7e8dcb7791fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f5c15f8520a2aa16eee1d4da2d33926"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga1f5c15f8520a2aa16eee1d4da2d33926"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__invocation.html#ga1f5c15f8520a2aa16eee1d4da2d33926">meta::lazy::id</a> = defer&lt; id, T &gt;</td></tr>
<tr class="separator:ga1f5c15f8520a2aa16eee1d4da2d33926"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfb965e2b47e00d52a75819dc6ef783d"><td class="memTemplParams" colspan="2">
template&lt;typename T &gt; </td></tr>
<tr class="memitem:gadfb965e2b47e00d52a75819dc6ef783d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::id_t</b> = _t&lt; id&lt; T &gt; &gt;</td></tr>
<tr class="memdesc:gadfb965e2b47e00d52a75819dc6ef783d"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias for type <code>T</code>. Useful in non-deduced contexts. <br /></td></tr>
<tr class="separator:gadfb965e2b47e00d52a75819dc6ef783d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45b0f89c4e4d2c891cd3344d55b52627"><td class="memTemplParams" colspan="2">
template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:ga45b0f89c4e4d2c891cd3344d55b52627"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::if_</b> = _t&lt; detail::_if_&lt; Args... &gt; &gt;</td></tr>
<tr class="memdesc:ga45b0f89c4e4d2c891cd3344d55b52627"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select one type or another depending on a compile-time Boolean. <br /></td></tr>
<tr class="separator:ga45b0f89c4e4d2c891cd3344d55b52627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c71ad12f7d1077e9680c19404ffe02c"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:ga8c71ad12f7d1077e9680c19404ffe02c"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__logical.html#ga8c71ad12f7d1077e9680c19404ffe02c">meta::lazy::if_</a> = defer&lt; if_, Args... &gt;</td></tr>
<tr class="separator:ga8c71ad12f7d1077e9680c19404ffe02c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54a5a3814a5d4535865dfbbf79a47bff"><td class="memTemplParams" colspan="2">
template&lt;bool If, typename... Args&gt; </td></tr>
<tr class="memitem:ga54a5a3814a5d4535865dfbbf79a47bff"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::if_c</b> = _t&lt; detail::_if_&lt; bool_&lt; If &gt;, Args... &gt; &gt;</td></tr>
<tr class="memdesc:ga54a5a3814a5d4535865dfbbf79a47bff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select one type or another depending on a compile-time Boolean. <br /></td></tr>
<tr class="separator:ga54a5a3814a5d4535865dfbbf79a47bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae00d694c7549536a491abd60eaff6c7f"><td class="memTemplParams" colspan="2">template&lt;bool If, typename... Args&gt; </td></tr>
<tr class="memitem:gae00d694c7549536a491abd60eaff6c7f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__logical.html#gae00d694c7549536a491abd60eaff6c7f">meta::lazy::if_c</a> = if_&lt; bool_&lt; If &gt;, Args... &gt;</td></tr>
<tr class="separator:gae00d694c7549536a491abd60eaff6c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e59a2a7df311e0d88e2781f753e5a9a"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename T &gt; </td></tr>
<tr class="memitem:ga7e59a2a7df311e0d88e2781f753e5a9a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#ga7e59a2a7df311e0d88e2781f753e5a9a">meta::in</a> = not_&lt; empty&lt; find&lt; L, T &gt; &gt; &gt;</td></tr>
<tr class="memdesc:ga7e59a2a7df311e0d88e2781f753e5a9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around <code>true</code> if there is at least one occurrence of <code>T</code> in <code>L</code>. <a href="group__query.html#ga7e59a2a7df311e0d88e2781f753e5a9a">More...</a><br /></td></tr>
<tr class="separator:ga7e59a2a7df311e0d88e2781f753e5a9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa68fac7e3c390445c7fda7a722555b07"><td class="memTemplParams" colspan="2">template&lt;typename L , typename T &gt; </td></tr>
<tr class="memitem:gaa68fac7e3c390445c7fda7a722555b07"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#gaa68fac7e3c390445c7fda7a722555b07">meta::lazy::in</a> = defer&lt; in, L, T &gt;</td></tr>
<tr class="separator:gaa68fac7e3c390445c7fda7a722555b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b6c7023c7c03d805f0c64c8b5bb73dd"><td class="memTemplParams" colspan="2"><a id="a1b6c7023c7c03d805f0c64c8b5bb73dd" name="a1b6c7023c7c03d805f0c64c8b5bb73dd"></a>
template&lt;integral T&gt; </td></tr>
<tr class="memitem:a1b6c7023c7c03d805f0c64c8b5bb73dd"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::inc</b> = std::integral_constant&lt; decltype(T::type::value+1), T::type::value+1 &gt;</td></tr>
<tr class="memdesc:a1b6c7023c7c03d805f0c64c8b5bb73dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of incrementing the wrapped integer <code>T::type::value</code>. <br /></td></tr>
<tr class="separator:a1b6c7023c7c03d805f0c64c8b5bb73dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6639f19bdf3a3ed8b1ba7f1a2f3266c3"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga6639f19bdf3a3ed8b1ba7f1a2f3266c3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga6639f19bdf3a3ed8b1ba7f1a2f3266c3">meta::lazy::inc</a> = defer&lt; inc, T &gt;</td></tr>
<tr class="separator:ga6639f19bdf3a3ed8b1ba7f1a2f3266c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45c5b408047346edfbbdac6ad5311d6a"><td class="memTemplParams" colspan="2">
template&lt;std::size_t... Is&gt; </td></tr>
<tr class="memitem:ga45c5b408047346edfbbdac6ad5311d6a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::index_sequence</b> = integer_sequence&lt; std::size_t, Is... &gt;</td></tr>
<tr class="memdesc:ga45c5b408047346edfbbdac6ad5311d6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A container for a sequence of compile-time integer constants of type <code>std::size_t</code>. <br /></td></tr>
<tr class="separator:ga45c5b408047346edfbbdac6ad5311d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae73103f7cd0758701d6f5fb9e4aebb8c"><td class="memTemplParams" colspan="2">template&lt;list_like L&gt; </td></tr>
<tr class="memitem:gae73103f7cd0758701d6f5fb9e4aebb8c"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__datatype.html#gae73103f7cd0758701d6f5fb9e4aebb8c">meta::inherit</a> = <a class="el" href="group__invocation.html#ga08e2193149605769f6052795ff0a87b1">meta::_t</a>&lt; detail::inherit_&lt; L &gt; &gt;</td></tr>
<tr class="memdesc:gae73103f7cd0758701d6f5fb9e4aebb8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">A type that inherits from all the types in the list. <a href="group__datatype.html#gae73103f7cd0758701d6f5fb9e4aebb8c">More...</a><br /></td></tr>
<tr class="separator:gae73103f7cd0758701d6f5fb9e4aebb8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9ccd578aa0f8fc9ba9e0dc950be5925"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
<tr class="memitem:gad9ccd578aa0f8fc9ba9e0dc950be5925"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__datatype.html#gad9ccd578aa0f8fc9ba9e0dc950be5925">meta::lazy::inherit</a> = defer&lt; inherit, L &gt;</td></tr>
<tr class="separator:gad9ccd578aa0f8fc9ba9e0dc950be5925"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab92b6f959d9d466e298bbedfc23171f1"><td class="memTemplParams" colspan="2">
template&lt;<a class="el" href="classint.html">int</a> I&gt; </td></tr>
<tr class="memitem:gab92b6f959d9d466e298bbedfc23171f1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::int_</b> = std::integral_constant&lt; <a class="el" href="classint.html">int</a>, I &gt;</td></tr>
<tr class="memdesc:gab92b6f959d9d466e298bbedfc23171f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper for <code>int</code>. <br /></td></tr>
<tr class="separator:gab92b6f959d9d466e298bbedfc23171f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5ecef58a92f47e271477ca195285414"><td class="memTemplParams" colspan="2">template&lt;typename T , T From, T To&gt; </td></tr>
<tr class="memitem:gab5ecef58a92f47e271477ca195285414"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__integral.html#gab5ecef58a92f47e271477ca195285414">meta::integer_range</a> = _t&lt; detail::coerce_indices_&lt; T, From, make_index_sequence&lt; detail::range_distance_(From, <a class="el" href="classTo.html">To</a>)&gt; &gt; &gt;</td></tr>
<tr class="memdesc:gab5ecef58a92f47e271477ca195285414"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the integer sequence <code>[From, To)</code>. <a href="group__integral.html#gab5ecef58a92f47e271477ca195285414">More...</a><br /></td></tr>
<tr class="separator:gab5ecef58a92f47e271477ca195285414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5c75197d5412d032f662b81e1a37e22"><td class="memTemplParams" colspan="2">
template&lt;invocable Fn, typename... Args&gt; </td></tr>
<tr class="memitem:gac5c75197d5412d032f662b81e1a37e22"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::invoke</b> = typename Fn::template invoke&lt; Args... &gt;</td></tr>
<tr class="memdesc:gac5c75197d5412d032f662b81e1a37e22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the invocable <code>Fn</code> with the arguments <code>Args</code>. <br /></td></tr>
<tr class="separator:gac5c75197d5412d032f662b81e1a37e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbab66fbc482852c4f5336102253470c"><td class="memTemplParams" colspan="2">template&lt;typename Fn , typename... Args&gt; </td></tr>
<tr class="memitem:gacbab66fbc482852c4f5336102253470c"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__invocation.html#gacbab66fbc482852c4f5336102253470c">meta::lazy::invoke</a> = defer&lt; invoke, Fn, Args... &gt;</td></tr>
<tr class="separator:gacbab66fbc482852c4f5336102253470c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5984b470adf01d45dc9dc3bdbd082210"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename... &gt; class C&gt; </td></tr>
<tr class="memitem:ga5984b470adf01d45dc9dc3bdbd082210"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__trait.html#ga5984b470adf01d45dc9dc3bdbd082210">meta::is</a> = _t&lt; detail::is_&lt; T, C &gt; &gt;</td></tr>
<tr class="memdesc:ga5984b470adf01d45dc9dc3bdbd082210"><td class="mdescLeft">&#160;</td><td class="mdescRight">is <a href="group__trait.html#ga5984b470adf01d45dc9dc3bdbd082210">More...</a><br /></td></tr>
<tr class="separator:ga5984b470adf01d45dc9dc3bdbd082210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b40c77b363544448bfb6d8bbaa37425"><td class="memTemplParams" colspan="2">
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga4b40c77b363544448bfb6d8bbaa37425"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::is_callable</b> = _t&lt; detail::is_callable_&lt; T &gt; &gt;</td></tr>
<tr class="memdesc:ga4b40c77b363544448bfb6d8bbaa37425"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias for <code>std::true_type</code> if <code>T::invoke</code> exists and names a class template or alias template; otherwise, it's an alias for <code>std::false_type</code>. <br /></td></tr>
<tr class="separator:ga4b40c77b363544448bfb6d8bbaa37425"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab555f4beeed0bd640752089e500525ac"><td class="memTemplParams" colspan="2"><a id="ab555f4beeed0bd640752089e500525ac" name="ab555f4beeed0bd640752089e500525ac"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ab555f4beeed0bd640752089e500525ac"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::is_trait</b> = _t&lt; detail::is_trait_&lt; T &gt; &gt;</td></tr>
<tr class="separator:ab555f4beeed0bd640752089e500525ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25e4339bc310103f33650978a26ee552"><td class="memTemplParams" colspan="2">
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga25e4339bc310103f33650978a26ee552"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::is_valid</b> = detail::is_valid_&lt; T &gt;</td></tr>
<tr class="memdesc:ga25e4339bc310103f33650978a26ee552"><td class="mdescLeft">&#160;</td><td class="mdescRight">For testing whether a deferred computation will succeed in a <code>let</code> or a <code>lambda</code>. <br /></td></tr>
<tr class="separator:ga25e4339bc310103f33650978a26ee552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae8b919ad4c2cfe9b0fc7549cedae5e37"><td class="memTemplParams" colspan="2">template&lt;list_like ListOfLists&gt; </td></tr>
<tr class="memitem:gae8b919ad4c2cfe9b0fc7549cedae5e37"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gae8b919ad4c2cfe9b0fc7549cedae5e37">meta::join</a> = apply&lt; quote&lt; concat &gt;, ListOfLists &gt;</td></tr>
<tr class="memdesc:gae8b919ad4c2cfe9b0fc7549cedae5e37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Joins a list of lists into a single list. <a href="group__transformation.html#gae8b919ad4c2cfe9b0fc7549cedae5e37">More...</a><br /></td></tr>
<tr class="separator:gae8b919ad4c2cfe9b0fc7549cedae5e37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5292fd127ef68013889ce784822703bb"><td class="memTemplParams" colspan="2">template&lt;typename ListOfLists &gt; </td></tr>
<tr class="memitem:ga5292fd127ef68013889ce784822703bb"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga5292fd127ef68013889ce784822703bb">meta::lazy::join</a> = defer&lt; join, ListOfLists &gt;</td></tr>
<tr class="separator:ga5292fd127ef68013889ce784822703bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad34f270fe54eeffd113b91f56af6cd6f"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:gad34f270fe54eeffd113b91f56af6cd6f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__trait.html#gad34f270fe54eeffd113b91f56af6cd6f">meta::lambda</a> = detail::lambda_&lt; list&lt; Ts... &gt; &gt;</td></tr>
<tr class="memdesc:gad34f270fe54eeffd113b91f56af6cd6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">For creating anonymous Invocables. <a href="group__trait.html#gad34f270fe54eeffd113b91f56af6cd6f">More...</a><br /></td></tr>
<tr class="separator:gad34f270fe54eeffd113b91f56af6cd6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabdb640343287440ca84ce0217faf7741"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:gabdb640343287440ca84ce0217faf7741"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::less</b> = bool_&lt;(T::type::value&lt; U::type::value)&gt;</td></tr>
<tr class="memdesc:gabdb640343287440ca84ce0217faf7741"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around <code>true</code> if <code>T::type::value</code> is less than <code>U::type::value</code>; <code>false</code>, otherwise. <br /></td></tr>
<tr class="separator:gabdb640343287440ca84ce0217faf7741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf85374b7537a86261fd478a48dccd2cd"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:gaf85374b7537a86261fd478a48dccd2cd"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#gaf85374b7537a86261fd478a48dccd2cd">meta::lazy::less</a> = defer&lt; less, T, U &gt;</td></tr>
<tr class="separator:gaf85374b7537a86261fd478a48dccd2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2b03f0bfd42cbb237831b6aaf2f0ef5"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:gab2b03f0bfd42cbb237831b6aaf2f0ef5"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::less_equal</b> = bool_&lt;(T::type::value&lt;=U::type::value)&gt;</td></tr>
<tr class="memdesc:gab2b03f0bfd42cbb237831b6aaf2f0ef5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around <code>true</code> if <code>T::type::value</code> is less than or equal to <code>U::type::value</code>; <code>false</code>, otherwise. <br /></td></tr>
<tr class="separator:gab2b03f0bfd42cbb237831b6aaf2f0ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e4ed5d5da1b769ae0ecfc2aa9729bc5"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:ga8e4ed5d5da1b769ae0ecfc2aa9729bc5"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga8e4ed5d5da1b769ae0ecfc2aa9729bc5">meta::lazy::less_equal</a> = defer&lt; less_equal, T, U &gt;</td></tr>
<tr class="separator:ga8e4ed5d5da1b769ae0ecfc2aa9729bc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8135043cacd3026f062390fc4842d21f"><td class="memTemplParams" colspan="2">template&lt;typename... As&gt; </td></tr>
<tr class="memitem:ga8135043cacd3026f062390fc4842d21f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__trait.html#ga8135043cacd3026f062390fc4842d21f">meta::let</a> = _t&lt; _t&lt; detail::let_&lt; As... &gt; &gt; &gt;</td></tr>
<tr class="memdesc:ga8135043cacd3026f062390fc4842d21f"><td class="mdescLeft">&#160;</td><td class="mdescRight">A lexically scoped expression with local variables. <a href="group__trait.html#ga8135043cacd3026f062390fc4842d21f">More...</a><br /></td></tr>
<tr class="separator:ga8135043cacd3026f062390fc4842d21f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5355a955cf71163986bfdc7ad7c7e3e3"><td class="memTemplParams" colspan="2">template&lt;typename... As&gt; </td></tr>
<tr class="memitem:ga5355a955cf71163986bfdc7ad7c7e3e3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__trait.html#ga5355a955cf71163986bfdc7ad7c7e3e3">meta::lazy::let</a> = defer&lt; let, As... &gt;</td></tr>
<tr class="separator:ga5355a955cf71163986bfdc7ad7c7e3e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga027c44ee54cc9486f9ce656f7c197c2f"><td class="memTemplParams" colspan="2">template&lt;std::size_t N&gt; </td></tr>
<tr class="memitem:ga027c44ee54cc9486f9ce656f7c197c2f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__integral.html#ga027c44ee54cc9486f9ce656f7c197c2f">meta::make_index_sequence</a> = _t&lt; detail::make_indices_&lt; N, index_sequence&lt; 0 &gt;, detail::strategy_(1, N)&gt; &gt;</td></tr>
<tr class="memdesc:ga027c44ee54cc9486f9ce656f7c197c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate <code>index_sequence</code> containing integer constants [0,1,2,...,N-1]. <a href="group__integral.html#ga027c44ee54cc9486f9ce656f7c197c2f">More...</a><br /></td></tr>
<tr class="separator:ga027c44ee54cc9486f9ce656f7c197c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0bd3ec389d0e8b7a1dfea81fbf3e126"><td class="memTemplParams" colspan="2">template&lt;typename T , T N&gt; </td></tr>
<tr class="memitem:gae0bd3ec389d0e8b7a1dfea81fbf3e126"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__integral.html#gae0bd3ec389d0e8b7a1dfea81fbf3e126">meta::make_integer_sequence</a> = _t&lt; detail::coerce_indices_&lt; T, 0, make_index_sequence&lt; static_cast&lt; std::size_t &gt;(N)&gt; &gt; &gt;</td></tr>
<tr class="memdesc:gae0bd3ec389d0e8b7a1dfea81fbf3e126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate <code><a class="el" href="structmeta_1_1integer__sequence.html" title="A container for a sequence of compile-time integer constants.">integer_sequence</a></code> containing integer constants [0,1,2,...,N-1]. <a href="group__integral.html#gae0bd3ec389d0e8b7a1dfea81fbf3e126">More...</a><br /></td></tr>
<tr class="separator:gae0bd3ec389d0e8b7a1dfea81fbf3e126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8b9918480e0a617026fc59cc1b5b058"><td class="memTemplParams" colspan="2"><a id="aa8b9918480e0a617026fc59cc1b5b058" name="aa8b9918480e0a617026fc59cc1b5b058"></a>
template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:aa8b9918480e0a617026fc59cc1b5b058"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::max</b> = max_&lt; Ts... &gt;</td></tr>
<tr class="separator:aa8b9918480e0a617026fc59cc1b5b058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90ea080c869ea76ffbbbec8f0104c301"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:ga90ea080c869ea76ffbbbec8f0104c301"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga90ea080c869ea76ffbbbec8f0104c301">meta::lazy::max</a> = defer&lt; max, Ts... &gt;</td></tr>
<tr class="separator:ga90ea080c869ea76ffbbbec8f0104c301"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafdb706a104cdb0d6753839332767fbd8"><td class="memTemplParams" colspan="2">
template&lt;integral ... Ts&gt; </td></tr>
<tr class="memitem:gafdb706a104cdb0d6753839332767fbd8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::max_</b> = fold&lt; pop_front&lt; list&lt; Ts... &gt; &gt;, front&lt; list&lt; Ts... &gt; &gt;, quote&lt; detail::max_ &gt; &gt;</td></tr>
<tr class="memdesc:gafdb706a104cdb0d6753839332767fbd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the maximum of <code>Ts::type::value...</code> <br /></td></tr>
<tr class="separator:gafdb706a104cdb0d6753839332767fbd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a561fed49c85c1b6b1378ec67632e0f"><td class="memTemplParams" colspan="2"><a id="a0a561fed49c85c1b6b1378ec67632e0f" name="a0a561fed49c85c1b6b1378ec67632e0f"></a>
template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:a0a561fed49c85c1b6b1378ec67632e0f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::min</b> = min_&lt; Ts... &gt;</td></tr>
<tr class="separator:a0a561fed49c85c1b6b1378ec67632e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d21a8ba24624deeb6da506e9420983b"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:ga0d21a8ba24624deeb6da506e9420983b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga0d21a8ba24624deeb6da506e9420983b">meta::lazy::min</a> = defer&lt; min, Ts... &gt;</td></tr>
<tr class="separator:ga0d21a8ba24624deeb6da506e9420983b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05bc34dddc89823545d871c4fe9e6de4"><td class="memTemplParams" colspan="2">
template&lt;integral ... Ts&gt; </td></tr>
<tr class="memitem:ga05bc34dddc89823545d871c4fe9e6de4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::min_</b> = fold&lt; pop_front&lt; list&lt; Ts... &gt; &gt;, front&lt; list&lt; Ts... &gt; &gt;, quote&lt; detail::min_ &gt; &gt;</td></tr>
<tr class="memdesc:ga05bc34dddc89823545d871c4fe9e6de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the minimum of <code>Ts::type::value...</code> <br /></td></tr>
<tr class="separator:ga05bc34dddc89823545d871c4fe9e6de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5738a7d892d9bf6f281f87b556057ecb"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:ga5738a7d892d9bf6f281f87b556057ecb"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::minus</b> = std::integral_constant&lt; decltype(T::type::value - U::type::value), T::type::value - U::type::value &gt;</td></tr>
<tr class="memdesc:ga5738a7d892d9bf6f281f87b556057ecb"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of subtracting the two wrapped integers <code>T::type::value</code> and <code>U::type::value</code>. <br /></td></tr>
<tr class="separator:ga5738a7d892d9bf6f281f87b556057ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfe9a525a63cc8a7f8d60e6354f9fc38"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:gadfe9a525a63cc8a7f8d60e6354f9fc38"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#gadfe9a525a63cc8a7f8d60e6354f9fc38">meta::lazy::minus</a> = defer&lt; minus, T, U &gt;</td></tr>
<tr class="separator:gadfe9a525a63cc8a7f8d60e6354f9fc38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb0adcf6123000b8aabccca5a6090289"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:gadb0adcf6123000b8aabccca5a6090289"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::modulus</b> = std::integral_constant&lt; decltype(T::type::value % U::type::value), T::type::value % U::type::value &gt;</td></tr>
<tr class="memdesc:gadb0adcf6123000b8aabccca5a6090289"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the remainder of dividing the two wrapped integers <code>T::type::value</code> and <code>U::type::value</code>. <br /></td></tr>
<tr class="separator:gadb0adcf6123000b8aabccca5a6090289"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06d5347f5ee6b1f0cfd6c99ca5c2eb14"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:ga06d5347f5ee6b1f0cfd6c99ca5c2eb14"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga06d5347f5ee6b1f0cfd6c99ca5c2eb14">meta::lazy::modulus</a> = defer&lt; modulus, T, U &gt;</td></tr>
<tr class="separator:ga06d5347f5ee6b1f0cfd6c99ca5c2eb14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga795c76535d57404cdfd5e42e247ce109"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:ga795c76535d57404cdfd5e42e247ce109"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::multiplies</b> = std::integral_constant&lt; decltype(T::type::value *U::type::value), T::type::value *U::type::value &gt;</td></tr>
<tr class="memdesc:ga795c76535d57404cdfd5e42e247ce109"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of multiplying the two wrapped integers <code>T::type::value</code> and <code>U::type::value</code>. <br /></td></tr>
<tr class="separator:ga795c76535d57404cdfd5e42e247ce109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28c4033e25cbe9496791de6bea80439a"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:ga28c4033e25cbe9496791de6bea80439a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga28c4033e25cbe9496791de6bea80439a">meta::lazy::multiplies</a> = defer&lt; multiplies, T, U &gt;</td></tr>
<tr class="separator:ga28c4033e25cbe9496791de6bea80439a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f3a3adf2556161e23d0b181d075498a"><td class="memTemplParams" colspan="2">
template&lt;integral T&gt; </td></tr>
<tr class="memitem:ga9f3a3adf2556161e23d0b181d075498a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::negate</b> = std::integral_constant&lt; decltype(-T::type::value), -T::type::value &gt;</td></tr>
<tr class="memdesc:ga9f3a3adf2556161e23d0b181d075498a"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of negating the wrapped integer <code>T::type::value</code>. <br /></td></tr>
<tr class="separator:ga9f3a3adf2556161e23d0b181d075498a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95fef0a37141e9a4ad7aa15c9d3643c8"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga95fef0a37141e9a4ad7aa15c9d3643c8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga95fef0a37141e9a4ad7aa15c9d3643c8">meta::lazy::negate</a> = defer&lt; negate, T &gt;</td></tr>
<tr class="separator:ga95fef0a37141e9a4ad7aa15c9d3643c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0722ed3a3840cbeffd4d49876abbd7d8"><td class="memTemplParams" colspan="2">template&lt;list_like L, invocable Fn&gt; </td></tr>
<tr class="memitem:ga0722ed3a3840cbeffd4d49876abbd7d8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#ga0722ed3a3840cbeffd4d49876abbd7d8">meta::none_of</a> = empty&lt; find_if&lt; L, Fn &gt; &gt;</td></tr>
<tr class="memdesc:ga0722ed3a3840cbeffd4d49876abbd7d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around <code>true</code> if <code>invoke&lt;Fn, A&gt;::value</code> is <code>false</code> for all elements <code>A</code> in <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> <code>L</code>; <code>false</code>, otherwise. <a href="group__query.html#ga0722ed3a3840cbeffd4d49876abbd7d8">More...</a><br /></td></tr>
<tr class="separator:ga0722ed3a3840cbeffd4d49876abbd7d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77c3583d23593ef370b9e8c774b79e26"><td class="memTemplParams" colspan="2">template&lt;typename L , invocable Fn&gt; </td></tr>
<tr class="memitem:ga77c3583d23593ef370b9e8c774b79e26"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#ga77c3583d23593ef370b9e8c774b79e26">meta::lazy::none_of</a> = defer&lt; none_of, L, Fn &gt;</td></tr>
<tr class="separator:ga77c3583d23593ef370b9e8c774b79e26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72884249179b0b22a27cc0709b75f23b"><td class="memTemplParams" colspan="2">
template&lt;integral B&gt; </td></tr>
<tr class="memitem:ga72884249179b0b22a27cc0709b75f23b"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::not_</b> = not_c&lt; B::type::value &gt;</td></tr>
<tr class="memdesc:ga72884249179b0b22a27cc0709b75f23b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logically negate the integral constant-wrapped Boolean parameter. <br /></td></tr>
<tr class="separator:ga72884249179b0b22a27cc0709b75f23b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57d87f8bb1199b5748eb3fc761b467fe"><td class="memTemplParams" colspan="2">template&lt;typename B &gt; </td></tr>
<tr class="memitem:ga57d87f8bb1199b5748eb3fc761b467fe"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__logical.html#ga57d87f8bb1199b5748eb3fc761b467fe">meta::lazy::not_</a> = defer&lt; not_, B &gt;</td></tr>
<tr class="separator:ga57d87f8bb1199b5748eb3fc761b467fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef6022dae0f8ae9d30b3495287c734bb"><td class="memTemplParams" colspan="2">
template&lt;bool B&gt; </td></tr>
<tr class="memitem:gaef6022dae0f8ae9d30b3495287c734bb"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::not_c</b> = bool_&lt;!B &gt;</td></tr>
<tr class="memdesc:gaef6022dae0f8ae9d30b3495287c734bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logically negate the Boolean parameter. <br /></td></tr>
<tr class="separator:gaef6022dae0f8ae9d30b3495287c734bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ac5f5c29d6eacedec33733d5e224ec0"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:ga0ac5f5c29d6eacedec33733d5e224ec0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::not_equal_to</b> = bool_&lt; T::type::value !=U::type::value &gt;</td></tr>
<tr class="memdesc:ga0ac5f5c29d6eacedec33733d5e224ec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean integral constant wrapper around the result of comparing <code>T::type::value</code> and <code>U::type::value</code> for inequality. <br /></td></tr>
<tr class="separator:ga0ac5f5c29d6eacedec33733d5e224ec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1026857657223391ed0fb4359d00a886"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:ga1026857657223391ed0fb4359d00a886"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#ga1026857657223391ed0fb4359d00a886">meta::lazy::not_equal_to</a> = defer&lt; not_equal_to, T, U &gt;</td></tr>
<tr class="separator:ga1026857657223391ed0fb4359d00a886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad54adef1c420be333e5027f7c63dc5db"><td class="memTemplParams" colspan="2">
template&lt;invocable Fn&gt; </td></tr>
<tr class="memitem:gad54adef1c420be333e5027f7c63dc5db"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::not_fn</b> = compose&lt; quote&lt; not_ &gt;, Fn &gt;</td></tr>
<tr class="memdesc:gad54adef1c420be333e5027f7c63dc5db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logically negate the result of invocable <code>Fn</code>. <br /></td></tr>
<tr class="separator:gad54adef1c420be333e5027f7c63dc5db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82b7e0a5867db7349c4f473eb4149b71"><td class="memTemplParams" colspan="2">template&lt;typename Fn &gt; </td></tr>
<tr class="memitem:ga82b7e0a5867db7349c4f473eb4149b71"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__trait.html#ga82b7e0a5867db7349c4f473eb4149b71">meta::lazy::not_fn</a> = defer&lt; not_fn, Fn &gt;</td></tr>
<tr class="separator:ga82b7e0a5867db7349c4f473eb4149b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6b96d77cd4223043591fe6e5819ecf8"><td class="memItemLeft" align="right" valign="top">
using&#160;</td><td class="memItemRight" valign="bottom"><b>meta::npos</b> = <a class="el" href="group__integral.html#ga92ba0e8ad97a32c34cec51aa6d4f8679">meta::size_t</a>&lt; std::size_t(-1)&gt;</td></tr>
<tr class="memdesc:gac6b96d77cd4223043591fe6e5819ecf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">A special value used to indicate no matches. It equals the maximum value representable by std::size_t. <br /></td></tr>
<tr class="separator:gac6b96d77cd4223043591fe6e5819ecf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6d7be59b6461713b329adf1ab280188"><td class="memTemplParams" colspan="2"><a id="ac6d7be59b6461713b329adf1ab280188" name="ac6d7be59b6461713b329adf1ab280188"></a>
template&lt;typename... Fns&gt; </td></tr>
<tr class="memitem:ac6d7be59b6461713b329adf1ab280188"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::on</b> = on_&lt; Fns... &gt;</td></tr>
<tr class="separator:ac6d7be59b6461713b329adf1ab280188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fbb1a2a5737b77764bec787b5e83eb6"><td class="memTemplParams" colspan="2">template&lt;typename Fn , typename G &gt; </td></tr>
<tr class="memitem:ga3fbb1a2a5737b77764bec787b5e83eb6"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__composition.html#ga3fbb1a2a5737b77764bec787b5e83eb6">meta::lazy::on</a> = defer&lt; on, Fn, G &gt;</td></tr>
<tr class="separator:ga3fbb1a2a5737b77764bec787b5e83eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf53cbfe64fd00f1c5b0d252365ea7548"><td class="memTemplParams" colspan="2">
template&lt;invocable ... Fns&gt; </td></tr>
<tr class="memitem:gaf53cbfe64fd00f1c5b0d252365ea7548"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::on_</b> = detail::on_&lt; Fns... &gt;</td></tr>
<tr class="memdesc:gaf53cbfe64fd00f1c5b0d252365ea7548"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use as <code>on&lt;Fn, Gs...&gt;</code>. Creates an invocable that applies invocable <code>Fn</code> to the result of applying invocable <code>compose&lt;Gs...&gt;</code> to all the arguments. <br /></td></tr>
<tr class="separator:gaf53cbfe64fd00f1c5b0d252365ea7548"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab82c32064e50ad37878ef4b3d4f8be3e"><td class="memTemplParams" colspan="2">
template&lt;typename... Bs&gt; </td></tr>
<tr class="memitem:gab82c32064e50ad37878ef4b3d4f8be3e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::or_</b> = _t&lt; detail::_or_&lt; Bs... &gt; &gt;</td></tr>
<tr class="memdesc:gab82c32064e50ad37878ef4b3d4f8be3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logically OR together all the integral constant-wrapped Boolean parameters, <em>with</em> short-circuiting. <br /></td></tr>
<tr class="separator:gab82c32064e50ad37878ef4b3d4f8be3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6b7cfec9bc49c4e50bd6f107db4a303"><td class="memTemplParams" colspan="2">template&lt;typename... Bs&gt; </td></tr>
<tr class="memitem:gac6b7cfec9bc49c4e50bd6f107db4a303"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__logical.html#gac6b7cfec9bc49c4e50bd6f107db4a303">meta::lazy::or_</a> = defer&lt; or_, Bs... &gt;</td></tr>
<tr class="separator:gac6b7cfec9bc49c4e50bd6f107db4a303"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd1e131e4e3ae4b0ae9bd3d2ec3a5f74"><td class="memTemplParams" colspan="2">
template&lt;typename F , typename S &gt; </td></tr>
<tr class="memitem:gafd1e131e4e3ae4b0ae9bd3d2ec3a5f74"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::pair</b> = list&lt; F, S &gt;</td></tr>
<tr class="memdesc:gafd1e131e4e3ae4b0ae9bd3d2ec3a5f74"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list with exactly two elements. <br /></td></tr>
<tr class="separator:gafd1e131e4e3ae4b0ae9bd3d2ec3a5f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15c1c01dfb904208e7d71d660caff4ca"><td class="memTemplParams" colspan="2">template&lt;list_like L, invocable Fn&gt; </td></tr>
<tr class="memitem:ga15c1c01dfb904208e7d71d660caff4ca"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga15c1c01dfb904208e7d71d660caff4ca">meta::partition</a> = fold&lt; L, pair&lt; list&lt;&gt;, list&lt;&gt; &gt;, detail::partition_&lt; Fn &gt; &gt;</td></tr>
<tr class="memdesc:ga15c1c01dfb904208e7d71d660caff4ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pair of lists, where the elements of <code>L</code> that satisfy the invocable <code>Fn</code> such that <code>invoke&lt;Fn,A&gt;::value</code> is <code>true</code> are present in the first list and the rest are in the second. <a href="group__transformation.html#ga15c1c01dfb904208e7d71d660caff4ca">More...</a><br /></td></tr>
<tr class="separator:ga15c1c01dfb904208e7d71d660caff4ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2410e097ab79bafcf93fa2751fce162d"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Fn &gt; </td></tr>
<tr class="memitem:ga2410e097ab79bafcf93fa2751fce162d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga2410e097ab79bafcf93fa2751fce162d">meta::lazy::partition</a> = defer&lt; partition, L, Fn &gt;</td></tr>
<tr class="separator:ga2410e097ab79bafcf93fa2751fce162d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5e2f54a307613cfd97223ca45fb2419"><td class="memTemplParams" colspan="2">
template&lt;integral T, integral U&gt; </td></tr>
<tr class="memitem:gab5e2f54a307613cfd97223ca45fb2419"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::plus</b> = std::integral_constant&lt; decltype(T::type::value+U::type::value), T::type::value+U::type::value &gt;</td></tr>
<tr class="memdesc:gab5e2f54a307613cfd97223ca45fb2419"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper around the result of adding the two wrapped integers <code>T::type::value</code> and <code>U::type::value</code>. <br /></td></tr>
<tr class="separator:gab5e2f54a307613cfd97223ca45fb2419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8f853b2df042d098ffce8b0277e1a81"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr class="memitem:gac8f853b2df042d098ffce8b0277e1a81"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__math.html#gac8f853b2df042d098ffce8b0277e1a81">meta::lazy::plus</a> = defer&lt; plus, T, U &gt;</td></tr>
<tr class="separator:gac8f853b2df042d098ffce8b0277e1a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae161f030face244119ce54815630d878"><td class="memTemplParams" colspan="2">template&lt;list_like L&gt; </td></tr>
<tr class="memitem:gae161f030face244119ce54815630d878"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gae161f030face244119ce54815630d878">meta::pop_front</a> = _t&lt; detail::pop_front_&lt; L &gt; &gt;</td></tr>
<tr class="memdesc:gae161f030face244119ce54815630d878"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> by removing the first element from the front of <code>L</code>. <a href="group__transformation.html#gae161f030face244119ce54815630d878">More...</a><br /></td></tr>
<tr class="separator:gae161f030face244119ce54815630d878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga583bef4b0199c43bcc502db159421510"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
<tr class="memitem:ga583bef4b0199c43bcc502db159421510"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga583bef4b0199c43bcc502db159421510">meta::lazy::pop_front</a> = defer&lt; pop_front, L &gt;</td></tr>
<tr class="separator:ga583bef4b0199c43bcc502db159421510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a424ab7b9e9409387565552d4cde77675"><td class="memTemplParams" colspan="2"><a id="a424ab7b9e9409387565552d4cde77675" name="a424ab7b9e9409387565552d4cde77675"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a424ab7b9e9409387565552d4cde77675"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::protect</b> = detail::protect_&lt; T &gt;</td></tr>
<tr class="memdesc:a424ab7b9e9409387565552d4cde77675"><td class="mdescLeft">&#160;</td><td class="mdescRight">For preventing the evaluation of a nested <code>defer</code>ed computation in a <code>let</code> or <code>lambda</code> expression. <br /></td></tr>
<tr class="separator:a424ab7b9e9409387565552d4cde77675"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafee8f315356d19c47069adb56890a920"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename... Ts&gt; </td></tr>
<tr class="memitem:gafee8f315356d19c47069adb56890a920"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gafee8f315356d19c47069adb56890a920">meta::push_back</a> = apply&lt; bind_back&lt; quote&lt; list &gt;, Ts... &gt;, L &gt;</td></tr>
<tr class="memdesc:gafee8f315356d19c47069adb56890a920"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> by adding the element <code>T</code> to the back of <code>L</code>. <a href="group__transformation.html#gafee8f315356d19c47069adb56890a920">More...</a><br /></td></tr>
<tr class="separator:gafee8f315356d19c47069adb56890a920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac38d4ddb4e7056e78369ec580f88c663"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:gac38d4ddb4e7056e78369ec580f88c663"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gac38d4ddb4e7056e78369ec580f88c663">meta::lazy::push_back</a> = defer&lt; push_back, Ts... &gt;</td></tr>
<tr class="separator:gac38d4ddb4e7056e78369ec580f88c663"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26c72d739945496ab36891f495c3ca98"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename... Ts&gt; </td></tr>
<tr class="memitem:ga26c72d739945496ab36891f495c3ca98"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga26c72d739945496ab36891f495c3ca98">meta::push_front</a> = apply&lt; bind_front&lt; quote&lt; list &gt;, Ts... &gt;, L &gt;</td></tr>
<tr class="memdesc:ga26c72d739945496ab36891f495c3ca98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> by adding the element <code>T</code> to the front of <code>L</code>. <a href="group__transformation.html#ga26c72d739945496ab36891f495c3ca98">More...</a><br /></td></tr>
<tr class="separator:ga26c72d739945496ab36891f495c3ca98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa45bedd8e345599914d393e741ca0170"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
<tr class="memitem:gaa45bedd8e345599914d393e741ca0170"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gaa45bedd8e345599914d393e741ca0170">meta::lazy::push_front</a> = defer&lt; push_front, Ts... &gt;</td></tr>
<tr class="separator:gaa45bedd8e345599914d393e741ca0170"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga945a0c21082eec9a2c7b9b8bda15e580"><td class="memTemplParams" colspan="2">template&lt;template&lt; typename... &gt; class C&gt; </td></tr>
<tr class="memitem:ga945a0c21082eec9a2c7b9b8bda15e580"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__composition.html#ga945a0c21082eec9a2c7b9b8bda15e580">meta::quote_trait</a> = compose&lt; quote&lt; _t &gt;, quote&lt; C &gt; &gt;</td></tr>
<tr class="memdesc:ga945a0c21082eec9a2c7b9b8bda15e580"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn a trait template <code>C</code> into an invocable. <a href="group__composition.html#ga945a0c21082eec9a2c7b9b8bda15e580">More...</a><br /></td></tr>
<tr class="separator:ga945a0c21082eec9a2c7b9b8bda15e580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e3348a777312c3f3b7cc0d6cd93a240"><td class="memTemplParams" colspan="2">
template&lt;typename T , template&lt; T... &gt; class C&gt; </td></tr>
<tr class="memitem:ga4e3348a777312c3f3b7cc0d6cd93a240"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::quote_trait_i</b> = compose&lt; quote&lt; _t &gt;, quote_i&lt; T, C &gt; &gt;</td></tr>
<tr class="memdesc:ga4e3348a777312c3f3b7cc0d6cd93a240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn a trait template <code>C</code> taking literals of type <code>T</code> into an invocable. <br /></td></tr>
<tr class="separator:ga4e3348a777312c3f3b7cc0d6cd93a240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4b5da3947303335fc4139f163ed4748"><td class="memTemplParams" colspan="2">template&lt;integral N, typename T = void&gt; </td></tr>
<tr class="memitem:gab4b5da3947303335fc4139f163ed4748"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__list.html#gab4b5da3947303335fc4139f163ed4748">meta::repeat_n</a> = repeat_n_c&lt; N::type::value, T &gt;</td></tr>
<tr class="memdesc:gab4b5da3947303335fc4139f163ed4748"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate <code>list&lt;T,T,T...T&gt;</code> of size <code>N</code> arguments. <a href="group__list.html#gab4b5da3947303335fc4139f163ed4748">More...</a><br /></td></tr>
<tr class="separator:gab4b5da3947303335fc4139f163ed4748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa92a89fba24ac03db56deed0dbe44f60"><td class="memTemplParams" colspan="2">template&lt;typename N , typename T = void&gt; </td></tr>
<tr class="memitem:gaa92a89fba24ac03db56deed0dbe44f60"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#gaa92a89fba24ac03db56deed0dbe44f60">meta::lazy::repeat_n</a> = defer&lt; repeat_n, N, T &gt;</td></tr>
<tr class="separator:gaa92a89fba24ac03db56deed0dbe44f60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b2d438c2312a159e4fa75236fa42977"><td class="memTemplParams" colspan="2">template&lt;std::size_t N, typename T = void&gt; </td></tr>
<tr class="memitem:ga5b2d438c2312a159e4fa75236fa42977"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__list.html#ga5b2d438c2312a159e4fa75236fa42977">meta::repeat_n_c</a> = _t&lt; detail::repeat_n_c_&lt; T, make_index_sequence&lt; N &gt; &gt; &gt;</td></tr>
<tr class="memdesc:ga5b2d438c2312a159e4fa75236fa42977"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate <code>list&lt;T,T,T...T&gt;</code> of size <code>N</code> arguments. <a href="group__list.html#ga5b2d438c2312a159e4fa75236fa42977">More...</a><br /></td></tr>
<tr class="separator:ga5b2d438c2312a159e4fa75236fa42977"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga924b100d87345a3cfc03733e685063be"><td class="memTemplParams" colspan="2">template&lt;std::size_t N, typename T = void&gt; </td></tr>
<tr class="memitem:ga924b100d87345a3cfc03733e685063be"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#ga924b100d87345a3cfc03733e685063be">meta::lazy::repeat_n_c</a> = defer&lt; repeat_n, <a class="el" href="group__integral.html#ga92ba0e8ad97a32c34cec51aa6d4f8679">meta::size_t</a>&lt; N &gt;, T &gt;</td></tr>
<tr class="separator:ga924b100d87345a3cfc03733e685063be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44e0ae4574066da2f71dd72ec245da23"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename T , typename U &gt; </td></tr>
<tr class="memitem:ga44e0ae4574066da2f71dd72ec245da23"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga44e0ae4574066da2f71dd72ec245da23">meta::replace</a> = _t&lt; detail::replace_&lt; L, T, U &gt; &gt;</td></tr>
<tr class="memdesc:ga44e0ae4574066da2f71dd72ec245da23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> where all instances of type <code>T</code> have been replaced with <code>U</code>. <a href="group__transformation.html#ga44e0ae4574066da2f71dd72ec245da23">More...</a><br /></td></tr>
<tr class="separator:ga44e0ae4574066da2f71dd72ec245da23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecb65f18ce9369d7839398ad033158fa"><td class="memTemplParams" colspan="2">template&lt;typename L , typename T , typename U &gt; </td></tr>
<tr class="memitem:gaecb65f18ce9369d7839398ad033158fa"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gaecb65f18ce9369d7839398ad033158fa">meta::lazy::replace</a> = defer&lt; replace, T, U &gt;</td></tr>
<tr class="separator:gaecb65f18ce9369d7839398ad033158fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa54c43f08dc95c371f1281ee1d106d80"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename C , typename U &gt; </td></tr>
<tr class="memitem:gaa54c43f08dc95c371f1281ee1d106d80"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gaa54c43f08dc95c371f1281ee1d106d80">meta::replace_if</a> = _t&lt; detail::replace_if_&lt; L, C, U &gt; &gt;</td></tr>
<tr class="memdesc:gaa54c43f08dc95c371f1281ee1d106d80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> where all elements <code>A</code> of the list <code>L</code> for which <code>invoke&lt;C,A&gt;::value</code> is <code>true</code> have been replaced with <code>U</code>. <a href="group__transformation.html#gaa54c43f08dc95c371f1281ee1d106d80">More...</a><br /></td></tr>
<tr class="separator:gaa54c43f08dc95c371f1281ee1d106d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga653bec9d6d98c66bd7575237dad42c6d"><td class="memTemplParams" colspan="2">template&lt;typename L , typename C , typename U &gt; </td></tr>
<tr class="memitem:ga653bec9d6d98c66bd7575237dad42c6d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga653bec9d6d98c66bd7575237dad42c6d">meta::lazy::replace_if</a> = defer&lt; replace_if, C, U &gt;</td></tr>
<tr class="separator:ga653bec9d6d98c66bd7575237dad42c6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb5c3e09e2b1dee384fee44fe54f7df9"><td class="memTemplParams" colspan="2">template&lt;list_like L&gt; </td></tr>
<tr class="memitem:gafb5c3e09e2b1dee384fee44fe54f7df9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gafb5c3e09e2b1dee384fee44fe54f7df9">meta::reverse</a> = _t&lt; detail::reverse_&lt; L &gt; &gt;</td></tr>
<tr class="memdesc:gafb5c3e09e2b1dee384fee44fe54f7df9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> by reversing the elements in the list <code>L</code>. <a href="group__transformation.html#gafb5c3e09e2b1dee384fee44fe54f7df9">More...</a><br /></td></tr>
<tr class="separator:gafb5c3e09e2b1dee384fee44fe54f7df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54897d8bfa761d847f6bc70f02d6206e"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
<tr class="memitem:ga54897d8bfa761d847f6bc70f02d6206e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga54897d8bfa761d847f6bc70f02d6206e">meta::lazy::reverse</a> = defer&lt; reverse, L &gt;</td></tr>
<tr class="separator:ga54897d8bfa761d847f6bc70f02d6206e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9fc68d4879145b2e75be42224ae1571"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename T &gt; </td></tr>
<tr class="memitem:gaf9fc68d4879145b2e75be42224ae1571"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#gaf9fc68d4879145b2e75be42224ae1571">meta::reverse_find</a> = drop&lt; L, min&lt; reverse_find_index&lt; L, T &gt;, size&lt; L &gt; &gt; &gt;</td></tr>
<tr class="memdesc:gaf9fc68d4879145b2e75be42224ae1571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the tail of the list <code>L</code> starting at the last occurrence of <code>T</code>, if any such element exists; the empty list, otherwise. <a href="group__query.html#gaf9fc68d4879145b2e75be42224ae1571">More...</a><br /></td></tr>
<tr class="separator:gaf9fc68d4879145b2e75be42224ae1571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0cf01e728c1ecdb0c4cf28d08f2db385"><td class="memTemplParams" colspan="2">template&lt;typename L , typename T &gt; </td></tr>
<tr class="memitem:ga0cf01e728c1ecdb0c4cf28d08f2db385"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#ga0cf01e728c1ecdb0c4cf28d08f2db385">meta::lazy::reverse_find</a> = defer&lt; reverse_find, L, T &gt;</td></tr>
<tr class="separator:ga0cf01e728c1ecdb0c4cf28d08f2db385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbb3ce2f521f38bcceb821a8eda51d5f"><td class="memTemplParams" colspan="2">template&lt;list_like L, invocable Fn&gt; </td></tr>
<tr class="memitem:gabbb3ce2f521f38bcceb821a8eda51d5f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#gabbb3ce2f521f38bcceb821a8eda51d5f">meta::reverse_find_if</a> = _t&lt; detail::reverse_find_if_&lt; L, Fn &gt; &gt;</td></tr>
<tr class="memdesc:gabbb3ce2f521f38bcceb821a8eda51d5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the tail of the list <code>L</code> starting at the last element <code>A</code> such that <code>invoke&lt;Fn, A&gt;::value</code> is <code>true</code>, if any such element exists; the empty list, otherwise. <a href="group__query.html#gabbb3ce2f521f38bcceb821a8eda51d5f">More...</a><br /></td></tr>
<tr class="separator:gabbb3ce2f521f38bcceb821a8eda51d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3aa23257144a401238c08f302c083fd"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Fn &gt; </td></tr>
<tr class="memitem:gab3aa23257144a401238c08f302c083fd"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#gab3aa23257144a401238c08f302c083fd">meta::lazy::reverse_find_if</a> = defer&lt; reverse_find_if, L, Fn &gt;</td></tr>
<tr class="separator:gab3aa23257144a401238c08f302c083fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a29ed9ce437db81ee3a046e368e942f"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename T &gt; </td></tr>
<tr class="memitem:ga6a29ed9ce437db81ee3a046e368e942f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__query.html#ga6a29ed9ce437db81ee3a046e368e942f">meta::reverse_find_index</a> = _t&lt; detail::reverse_find_index_&lt; L, T &gt; &gt;</td></tr>
<tr class="memdesc:ga6a29ed9ce437db81ee3a046e368e942f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the index of the last occurrence of the type <code>T</code> within the list <code>L</code>. Returns <code>#<a class="el" href="group__list.html#gac6b96d77cd4223043591fe6e5819ecf8" title="A special value used to indicate no matches. It equals the maximum value representable by std::size_t...">meta::npos</a></code> if the type <code>T</code> was not found. <a href="group__query.html#ga6a29ed9ce437db81ee3a046e368e942f">More...</a><br /></td></tr>
<tr class="separator:ga6a29ed9ce437db81ee3a046e368e942f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d39dff0bca84dd8fd802126c1e8ddae"><td class="memTemplParams" colspan="2">template&lt;typename L , typename T &gt; </td></tr>
<tr class="memitem:ga3d39dff0bca84dd8fd802126c1e8ddae"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__query.html#ga3d39dff0bca84dd8fd802126c1e8ddae">meta::lazy::reverse_find_index</a> = defer&lt; reverse_find_index, L, T &gt;</td></tr>
<tr class="separator:ga3d39dff0bca84dd8fd802126c1e8ddae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga731ad47dfb1f72563fdad66fa5ae2a1a"><td class="memTemplParams" colspan="2">template&lt;list_like L, typename State , invocable Fn&gt; </td></tr>
<tr class="memitem:ga731ad47dfb1f72563fdad66fa5ae2a1a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga731ad47dfb1f72563fdad66fa5ae2a1a">meta::reverse_fold</a> = _t&lt; detail::reverse_fold_&lt; L, State, Fn &gt; &gt;</td></tr>
<tr class="memdesc:ga731ad47dfb1f72563fdad66fa5ae2a1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> constructed by doing a right fold of the list <code>L</code> using binary invocable <code>Fn</code> and initial state <code>State</code>. That is, the <code>State(N)</code> for the list element <code>A(N)</code> is computed by <code>Fn(A(N), State(N+1)) -&gt; State(N)</code>. <a href="group__transformation.html#ga731ad47dfb1f72563fdad66fa5ae2a1a">More...</a><br /></td></tr>
<tr class="separator:ga731ad47dfb1f72563fdad66fa5ae2a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6a77ab5e3b23c87fb1cf37f8261354f"><td class="memTemplParams" colspan="2">template&lt;typename L , typename State , typename Fn &gt; </td></tr>
<tr class="memitem:gac6a77ab5e3b23c87fb1cf37f8261354f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gac6a77ab5e3b23c87fb1cf37f8261354f">meta::lazy::reverse_fold</a> = defer&lt; reverse_fold, L, State, Fn &gt;</td></tr>
<tr class="separator:gac6a77ab5e3b23c87fb1cf37f8261354f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafcc628d48e8b50df154e7c030e7ff2d"><td class="memTemplParams" colspan="2">
template&lt;typename Pair &gt; </td></tr>
<tr class="memitem:gaafcc628d48e8b50df154e7c030e7ff2d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::second</b> = front&lt; pop_front&lt; Pair &gt; &gt;</td></tr>
<tr class="memdesc:gaafcc628d48e8b50df154e7c030e7ff2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the first element of the <code>pair</code> <code>Pair</code>. <br /></td></tr>
<tr class="separator:gaafcc628d48e8b50df154e7c030e7ff2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7288aa431c8cf586e18b8ca84fa9047f"><td class="memTemplParams" colspan="2">template&lt;typename Pair &gt; </td></tr>
<tr class="memitem:ga7288aa431c8cf586e18b8ca84fa9047f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#ga7288aa431c8cf586e18b8ca84fa9047f">meta::lazy::second</a> = defer&lt; second, Pair &gt;</td></tr>
<tr class="separator:ga7288aa431c8cf586e18b8ca84fa9047f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82704ab3563d63460b7ac1be6c9876c9"><td class="memTemplParams" colspan="2">
template&lt;list_like L&gt; </td></tr>
<tr class="memitem:ga82704ab3563d63460b7ac1be6c9876c9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::size</b> = <a class="el" href="group__integral.html#ga92ba0e8ad97a32c34cec51aa6d4f8679">meta::size_t</a>&lt; L::size()&gt;</td></tr>
<tr class="memdesc:ga82704ab3563d63460b7ac1be6c9876c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper that is the size of the <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> <code>L</code>. <br /></td></tr>
<tr class="separator:ga82704ab3563d63460b7ac1be6c9876c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac520bdd13d96acb2841d33ded895de1a"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
<tr class="memitem:gac520bdd13d96acb2841d33ded895de1a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__list.html#gac520bdd13d96acb2841d33ded895de1a">meta::lazy::size</a> = defer&lt; size, L &gt;</td></tr>
<tr class="separator:gac520bdd13d96acb2841d33ded895de1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92ba0e8ad97a32c34cec51aa6d4f8679"><td class="memTemplParams" colspan="2">
template&lt;std::size_t N&gt; </td></tr>
<tr class="memitem:ga92ba0e8ad97a32c34cec51aa6d4f8679"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::size_t</b> = std::integral_constant&lt; std::size_t, N &gt;</td></tr>
<tr class="memdesc:ga92ba0e8ad97a32c34cec51aa6d4f8679"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integral constant wrapper for <code>std::size_t</code>. <br /></td></tr>
<tr class="separator:ga92ba0e8ad97a32c34cec51aa6d4f8679"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac14214187fc011fb2c0f719a034bb730"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gac14214187fc011fb2c0f719a034bb730"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__trait.html#gac14214187fc011fb2c0f719a034bb730">meta::sizeof_</a> = <a class="el" href="group__integral.html#ga92ba0e8ad97a32c34cec51aa6d4f8679">meta::size_t</a>&lt; sizeof(T)&gt;</td></tr>
<tr class="memdesc:gac14214187fc011fb2c0f719a034bb730"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias that computes the size of the type <code>T</code>. <a href="group__trait.html#gac14214187fc011fb2c0f719a034bb730">More...</a><br /></td></tr>
<tr class="separator:gac14214187fc011fb2c0f719a034bb730"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3e15ef7898ef1404a77ded9579aa7ec"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaa3e15ef7898ef1404a77ded9579aa7ec"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__trait.html#gaa3e15ef7898ef1404a77ded9579aa7ec">meta::lazy::sizeof_</a> = defer&lt; sizeof_, T &gt;</td></tr>
<tr class="separator:gaa3e15ef7898ef1404a77ded9579aa7ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24714e0a1e7b99a57052a63d815955a7"><td class="memTemplParams" colspan="2">template&lt;list_like L, invocable Fn&gt; </td></tr>
<tr class="memitem:ga24714e0a1e7b99a57052a63d815955a7"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga24714e0a1e7b99a57052a63d815955a7">meta::sort</a> = _t&lt; detail::sort_&lt; L, Fn &gt; &gt;</td></tr>
<tr class="memdesc:ga24714e0a1e7b99a57052a63d815955a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> that is sorted according to invocable predicate <code>Fn</code>. <a href="group__transformation.html#ga24714e0a1e7b99a57052a63d815955a7">More...</a><br /></td></tr>
<tr class="separator:ga24714e0a1e7b99a57052a63d815955a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ea8f5d01e1d1842df09e3ee6fda21d9"><td class="memTemplParams" colspan="2">template&lt;typename L , typename Fn &gt; </td></tr>
<tr class="memitem:ga9ea8f5d01e1d1842df09e3ee6fda21d9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga9ea8f5d01e1d1842df09e3ee6fda21d9">meta::lazy::sort</a> = defer&lt; sort, L, Fn &gt;</td></tr>
<tr class="separator:ga9ea8f5d01e1d1842df09e3ee6fda21d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace8f9ebdf58e0e065922d3800672970a"><td class="memTemplParams" colspan="2"><a id="ace8f9ebdf58e0e065922d3800672970a" name="ace8f9ebdf58e0e065922d3800672970a"></a>
template&lt;typename... Bs&gt; </td></tr>
<tr class="memitem:ace8f9ebdf58e0e065922d3800672970a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::strict_and</b> = strict_and_&lt; Bs... &gt;</td></tr>
<tr class="separator:ace8f9ebdf58e0e065922d3800672970a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6eecd0f06241492c16c9b74ecd4f2869"><td class="memTemplParams" colspan="2">template&lt;typename... Bs&gt; </td></tr>
<tr class="memitem:ga6eecd0f06241492c16c9b74ecd4f2869"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__logical.html#ga6eecd0f06241492c16c9b74ecd4f2869">meta::lazy::strict_and</a> = defer&lt; strict_and, Bs... &gt;</td></tr>
<tr class="separator:ga6eecd0f06241492c16c9b74ecd4f2869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6c4944687eb36519341d2ba83a10fb8"><td class="memTemplParams" colspan="2">
template&lt;integral ... Bs&gt; </td></tr>
<tr class="memitem:gad6c4944687eb36519341d2ba83a10fb8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::strict_and_</b> = and_c&lt; Bs::type::value... &gt;</td></tr>
<tr class="memdesc:gad6c4944687eb36519341d2ba83a10fb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logically AND together all the integral constant-wrapped Boolean parameters, <em>without</em> short-circuiting. <br /></td></tr>
<tr class="separator:gad6c4944687eb36519341d2ba83a10fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cafd6ca03e4a6128128cfb111593607"><td class="memTemplParams" colspan="2"><a id="a6cafd6ca03e4a6128128cfb111593607" name="a6cafd6ca03e4a6128128cfb111593607"></a>
template&lt;typename... Bs&gt; </td></tr>
<tr class="memitem:a6cafd6ca03e4a6128128cfb111593607"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::strict_or</b> = strict_or_&lt; Bs... &gt;</td></tr>
<tr class="separator:a6cafd6ca03e4a6128128cfb111593607"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56500e982893ce81207b25e497ab2a94"><td class="memTemplParams" colspan="2">template&lt;typename... Bs&gt; </td></tr>
<tr class="memitem:ga56500e982893ce81207b25e497ab2a94"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__logical.html#ga56500e982893ce81207b25e497ab2a94">meta::lazy::strict_or</a> = defer&lt; strict_or, Bs... &gt;</td></tr>
<tr class="separator:ga56500e982893ce81207b25e497ab2a94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8d3a296d5d944c83c38f70c2837889a"><td class="memTemplParams" colspan="2">
template&lt;integral ... Bs&gt; </td></tr>
<tr class="memitem:gaf8d3a296d5d944c83c38f70c2837889a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::strict_or_</b> = or_c&lt; Bs::type::value... &gt;</td></tr>
<tr class="memdesc:gaf8d3a296d5d944c83c38f70c2837889a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logically OR together all the integral constant-wrapped Boolean parameters, <em>without</em> short-circuiting. <br /></td></tr>
<tr class="separator:gaf8d3a296d5d944c83c38f70c2837889a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32b72eeac93fde990739bfe3d1729207"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:ga32b72eeac93fde990739bfe3d1729207"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga32b72eeac93fde990739bfe3d1729207">meta::transform</a> = _t&lt; detail::transform_&lt; Args... &gt; &gt;</td></tr>
<tr class="memdesc:ga32b72eeac93fde990739bfe3d1729207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> constructed by transforming all the elements in <code>L</code> with the unary invocable <code>Fn</code>. <code>transform</code> can also be called with two lists of the same length and a binary invocable, in which case it returns a new list constructed with the results of calling <code>Fn</code> with each element in the lists, pairwise. <a href="group__transformation.html#ga32b72eeac93fde990739bfe3d1729207">More...</a><br /></td></tr>
<tr class="separator:ga32b72eeac93fde990739bfe3d1729207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa72db1ef09f440fccb0c2ce30f61f577"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:gaa72db1ef09f440fccb0c2ce30f61f577"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gaa72db1ef09f440fccb0c2ce30f61f577">meta::lazy::transform</a> = defer&lt; transform, Args... &gt;</td></tr>
<tr class="separator:gaa72db1ef09f440fccb0c2ce30f61f577"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga386fa55fefb4aa3f4df3227379916839"><td class="memTemplParams" colspan="2">template&lt;list_like ListOfLists&gt; </td></tr>
<tr class="memitem:ga386fa55fefb4aa3f4df3227379916839"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga386fa55fefb4aa3f4df3227379916839">meta::transpose</a> = fold&lt; ListOfLists, repeat_n&lt; size&lt; front&lt; ListOfLists &gt; &gt;, list&lt;&gt; &gt;, bind_back&lt; quote&lt; transform &gt;, quote&lt; push_back &gt; &gt; &gt;</td></tr>
<tr class="memdesc:ga386fa55fefb4aa3f4df3227379916839"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a list of lists of types <code>ListOfLists</code>, transpose the elements from the lists. <a href="group__transformation.html#ga386fa55fefb4aa3f4df3227379916839">More...</a><br /></td></tr>
<tr class="separator:ga386fa55fefb4aa3f4df3227379916839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga380ef764edf25a09e9ef20afa7daffa7"><td class="memTemplParams" colspan="2">template&lt;typename ListOfLists &gt; </td></tr>
<tr class="memitem:ga380ef764edf25a09e9ef20afa7daffa7"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga380ef764edf25a09e9ef20afa7daffa7">meta::lazy::transpose</a> = defer&lt; transpose, ListOfLists &gt;</td></tr>
<tr class="separator:ga380ef764edf25a09e9ef20afa7daffa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5fa0228061e71036b311db6c3d93ab02"><td class="memTemplParams" colspan="2">
template&lt;invocable Fn&gt; </td></tr>
<tr class="memitem:ga5fa0228061e71036b311db6c3d93ab02"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::uncurry</b> = bind_front&lt; quote&lt; apply &gt;, Fn &gt;</td></tr>
<tr class="memdesc:ga5fa0228061e71036b311db6c3d93ab02"><td class="mdescLeft">&#160;</td><td class="mdescRight">An invocable that takes a type list, unpacks the types, and then calls the invocable <code>Fn</code> with the types. <br /></td></tr>
<tr class="separator:ga5fa0228061e71036b311db6c3d93ab02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad88347c3ca41bc09af89f5e381f906c0"><td class="memTemplParams" colspan="2">template&lt;typename Fn &gt; </td></tr>
<tr class="memitem:gad88347c3ca41bc09af89f5e381f906c0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__composition.html#gad88347c3ca41bc09af89f5e381f906c0">meta::lazy::uncurry</a> = defer&lt; uncurry, Fn &gt;</td></tr>
<tr class="separator:gad88347c3ca41bc09af89f5e381f906c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga851cff9736691f16f0899eac04839d58"><td class="memTemplParams" colspan="2">template&lt;list_like L&gt; </td></tr>
<tr class="memitem:ga851cff9736691f16f0899eac04839d58"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga851cff9736691f16f0899eac04839d58">meta::unique</a> = fold&lt; L, list&lt;&gt;, quote_trait&lt; detail::insert_back_ &gt; &gt;</td></tr>
<tr class="memdesc:ga851cff9736691f16f0899eac04839d58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a new <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code> where all duplicate elements have been removed. <a href="group__transformation.html#ga851cff9736691f16f0899eac04839d58">More...</a><br /></td></tr>
<tr class="separator:ga851cff9736691f16f0899eac04839d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42f3b970e80aab370d5540b4d84ef1d4"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
<tr class="memitem:ga42f3b970e80aab370d5540b4d84ef1d4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#ga42f3b970e80aab370d5540b4d84ef1d4">meta::lazy::unique</a> = defer&lt; unique, L &gt;</td></tr>
<tr class="separator:ga42f3b970e80aab370d5540b4d84ef1d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa307978db0da638b8c87a4967bc4330c"><td class="memTemplParams" colspan="2"><a id="aa307978db0da638b8c87a4967bc4330c" name="aa307978db0da638b8c87a4967bc4330c"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:aa307978db0da638b8c87a4967bc4330c"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::vararg</b> = detail::vararg_&lt; T &gt;</td></tr>
<tr class="memdesc:aa307978db0da638b8c87a4967bc4330c"><td class="mdescLeft">&#160;</td><td class="mdescRight">For defining variadic placeholders. <br /></td></tr>
<tr class="separator:aa307978db0da638b8c87a4967bc4330c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea4e08158f9e882faf65f8f73b85d1c3"><td class="memTemplParams" colspan="2">
template&lt;typename... &gt; </td></tr>
<tr class="memitem:gaea4e08158f9e882faf65f8f73b85d1c3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::void_</b> = void</td></tr>
<tr class="memdesc:gaea4e08158f9e882faf65f8f73b85d1c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias for <code>void</code>. <br /></td></tr>
<tr class="separator:gaea4e08158f9e882faf65f8f73b85d1c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga559fdaee384c3d297b86ab217b26f601"><td class="memTemplParams" colspan="2">template&lt;list_like ListOfLists&gt; </td></tr>
<tr class="memitem:ga559fdaee384c3d297b86ab217b26f601"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#ga559fdaee384c3d297b86ab217b26f601">meta::zip</a> = transpose&lt; ListOfLists &gt;</td></tr>
<tr class="memdesc:ga559fdaee384c3d297b86ab217b26f601"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a list of lists of types <code>ListOfLists</code>, construct a new list by grouping the elements from the lists pairwise into <code><a class="el" href="structmeta_1_1list.html" title="A list of types.">meta::list</a></code>s. <a href="group__transformation.html#ga559fdaee384c3d297b86ab217b26f601">More...</a><br /></td></tr>
<tr class="separator:ga559fdaee384c3d297b86ab217b26f601"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae296ffdc41b6cb3d3fd654c4800bb79a"><td class="memTemplParams" colspan="2">template&lt;typename ListOfLists &gt; </td></tr>
<tr class="memitem:gae296ffdc41b6cb3d3fd654c4800bb79a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gae296ffdc41b6cb3d3fd654c4800bb79a">meta::lazy::zip</a> = defer&lt; zip, ListOfLists &gt;</td></tr>
<tr class="separator:gae296ffdc41b6cb3d3fd654c4800bb79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8262b50af24df0244354b25ab025b15"><td class="memTemplParams" colspan="2">template&lt;invocable Fn, list_like ListOfLists&gt; </td></tr>
<tr class="memitem:gad8262b50af24df0244354b25ab025b15"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transformation.html#gad8262b50af24df0244354b25ab025b15">meta::zip_with</a> = transform&lt; transpose&lt; ListOfLists &gt;, uncurry&lt; Fn &gt; &gt;</td></tr>
<tr class="memdesc:gad8262b50af24df0244354b25ab025b15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a list of lists of types <code>ListOfLists</code> and an invocable <code>Fn</code>, construct a new list by calling <code>Fn</code> with the elements from the lists pairwise. <a href="group__transformation.html#gad8262b50af24df0244354b25ab025b15">More...</a><br /></td></tr>
<tr class="separator:gad8262b50af24df0244354b25ab025b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8fb91e99810893e1f7675bce1e724e4"><td class="memTemplParams" colspan="2">template&lt;typename Fn , typename ListOfLists &gt; </td></tr>
<tr class="memitem:gab8fb91e99810893e1f7675bce1e724e4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lazy__transformation.html#gab8fb91e99810893e1f7675bce1e724e4">meta::lazy::zip_with</a> = defer&lt; zip_with, Fn, ListOfLists &gt;</td></tr>
<tr class="separator:gab8fb91e99810893e1f7675bce1e724e4"><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:a680ed7514ac3482e677c041464c0b6ad"><td class="memTemplParams" colspan="2"><a id="a680ed7514ac3482e677c041464c0b6ad" name="a680ed7514ac3482e677c041464c0b6ad"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a680ed7514ac3482e677c041464c0b6ad"><td class="memTemplItemLeft" align="right" valign="top">constexpr T *&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::detail::_nullptr_v</b> ()</td></tr>
<tr class="memdesc:a680ed7514ac3482e677c041464c0b6ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <code>T</code> nullptr. <br /></td></tr>
<tr class="separator:a680ed7514ac3482e677c041464c0b6ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbb5c49f90e042faaa211484afd46516"><td class="memItemLeft" align="right" valign="top"><a id="adbb5c49f90e042faaa211484afd46516" name="adbb5c49f90e042faaa211484afd46516"></a>
constexpr std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>meta::detail::count_i_</b> (bool const *const begin, bool const *const end, std::size_t n)</td></tr>
<tr class="separator:adbb5c49f90e042faaa211484afd46516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70edfb1b293c8619916012e1fb9ded2c"><td class="memTemplParams" colspan="2">
template&lt;char... Chs&gt; </td></tr>
<tr class="memitem:ga70edfb1b293c8619916012e1fb9ded2c"><td class="memTemplItemLeft" align="right" valign="top">constexpr fold&lt; list&lt; char_&lt; Chs &gt;... &gt;, <a class="el" href="group__integral.html#ga92ba0e8ad97a32c34cec51aa6d4f8679">meta::size_t</a>&lt; 0 &gt;, quote&lt; detail::atoi_ &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>meta::operator&quot;&quot;_z</b> ()</td></tr>
<tr class="memdesc:ga70edfb1b293c8619916012e1fb9ded2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">A user-defined literal that generates objects of type <code><a class="el" href="group__integral.html#ga92ba0e8ad97a32c34cec51aa6d4f8679" title="An integral constant wrapper for std::size_t.">meta::size_t</a></code>. <br /></td></tr>
<tr class="separator:ga70edfb1b293c8619916012e1fb9ded2c"><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:ga63ad9a7984ab9ece32f80a3d065d1729"><td class="memTemplParams" colspan="2">template&lt;integral T&gt; </td></tr>
<tr class="memitem:ga63ad9a7984ab9ece32f80a3d065d1729"><td class="memTemplItemLeft" align="right" valign="top">constexpr T::type::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__invocation.html#ga63ad9a7984ab9ece32f80a3d065d1729">meta::_v</a> = T::type::value</td></tr>
<tr class="memdesc:ga63ad9a7984ab9ece32f80a3d065d1729"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variable alias for <code>T::type::value</code>. <a href="group__invocation.html#ga63ad9a7984ab9ece32f80a3d065d1729">More...</a><br /></td></tr>
<tr class="separator:ga63ad9a7984ab9ece32f80a3d065d1729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8beaba5ae537715c97e180b05160cc03"><td class="memItemLeft" align="right" valign="top">
constexpr auto &amp;&amp;&#160;</td><td class="memItemRight" valign="bottom"><b>meta::for_each</b> = detail::static_const&lt;detail::for_each_fn&gt;::value</td></tr>
<tr class="memdesc:ga8beaba5ae537715c97e180b05160cc03"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>for_each(List, UnaryFunction)</code> calls the <code>UnaryFunction</code> for each argument in the <code>List</code>. <br /></td></tr>
<tr class="separator:ga8beaba5ae537715c97e180b05160cc03"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Tiny meta-programming library. </p>
</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_0d92069d5a23b1d3125c326d74f1a07c.html">meta</a></li><li class="navelem"><a class="el" href="meta_8hpp.html">meta.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>