初始化内容

This commit is contained in:
2026-09-16 14:07:40 +08:00
parent 6934b390bf
commit 4f643c1e7c
18350 changed files with 6088489 additions and 305 deletions
+205
View File
@@ -0,0 +1,205 @@
<!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" lang="zh">
<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.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>dl: D:/dl/dl/math/dl_algorithm.h 文件参考</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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></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">dl
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','搜索',false);
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_17297ffb27ce571941f5fb5008f01a1f.html">dl</a></li><li class="navelem"><a class="el" href="dir_d483d22d183a78db490f3ff6a4a958eb.html">math</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes"></a> &#124;
<a href="#namespaces">命名空间</a> &#124;
<a href="#func-members">函数</a> </div>
<div class="headertitle"><div class="title">dl_algorithm.h 文件参考</div></div>
</div><!--header-->
<div class="contents">
<p>算法
<a href="#details">更多...</a></p>
<div class="textblock"><code>#include &lt;algorithm&gt;</code><br />
<code>#include &lt;cassert&gt;</code><br />
<code>#include &lt;stack&gt;</code><br />
<code>#include &lt;array&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;cstdint&gt;</code><br />
<code>#include &quot;<a class="el" href="dl__concept_8h_source.html">base/dl_concept.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="dl__array_8h_source.html">base/dl_array.h</a>&quot;</code><br />
</div>
<p><a href="dl__algorithm_8h_source.html">浏览该文件的源代码.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdl_1_1finally.html">dl::finally&lt; F &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RAII清理操作 <a href="classdl_1_1finally.html#details">更多...</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>
命名空间</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedl.html">dl</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
函数</h2></td></tr>
<tr class="memitem:ad3ef53c3ec822b30f2b55f8546fcd141" id="r_ad3ef53c3ec822b30f2b55f8546fcd141"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:ad3ef53c3ec822b30f2b55f8546fcd141"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#ad3ef53c3ec822b30f2b55f8546fcd141">dl::clamp</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;x, const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;a, const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;b)</td></tr>
<tr class="memdesc:ad3ef53c3ec822b30f2b55f8546fcd141"><td class="mdescLeft">&#160;</td><td class="mdescRight">限制数值到 [a, b] <br /></td></tr>
<tr class="separator:ad3ef53c3ec822b30f2b55f8546fcd141"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5903c381116ba61ce724dc9390e3722" id="r_ab5903c381116ba61ce724dc9390e3722"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:ab5903c381116ba61ce724dc9390e3722"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#ab5903c381116ba61ce724dc9390e3722">dl::saturate</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;x)</td></tr>
<tr class="memdesc:ab5903c381116ba61ce724dc9390e3722"><td class="mdescLeft">&#160;</td><td class="mdescRight">限制数值到 [0, 1] <br /></td></tr>
<tr class="separator:ab5903c381116ba61ce724dc9390e3722"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52d151a5836974d062fad33e4d6dad3f" id="r_a52d151a5836974d062fad33e4d6dad3f"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a52d151a5836974d062fad33e4d6dad3f"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a52d151a5836974d062fad33e4d6dad3f">dl::is_saturate</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;x)</td></tr>
<tr class="memdesc:a52d151a5836974d062fad33e4d6dad3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">是否数值在[0, 1] <br /></td></tr>
<tr class="separator:a52d151a5836974d062fad33e4d6dad3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f01b2565e299d5459abc4129b7e2a86" id="r_a9f01b2565e299d5459abc4129b7e2a86"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a9f01b2565e299d5459abc4129b7e2a86"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="classdl_1_1_array.html">Array</a>&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, 3 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a9f01b2565e299d5459abc4129b7e2a86">dl::cross</a> (const <a class="el" href="classdl_1_1_array.html">Array</a>&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, 3 &gt; &amp;a, const <a class="el" href="classdl_1_1_array.html">Array</a>&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, 3 &gt; &amp;b)</td></tr>
<tr class="memdesc:a9f01b2565e299d5459abc4129b7e2a86"><td class="mdescLeft">&#160;</td><td class="mdescRight">向量叉乘 <br /></td></tr>
<tr class="separator:a9f01b2565e299d5459abc4129b7e2a86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34c0bc4c736824da551378ef79a12af3" id="r_a34c0bc4c736824da551378ef79a12af3"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a34c0bc4c736824da551378ef79a12af3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a34c0bc4c736824da551378ef79a12af3">dl::cast_dynamic</a> (void *p)</td></tr>
<tr class="memdesc:a34c0bc4c736824da551378ef79a12af3"><td class="mdescLeft">&#160;</td><td class="mdescRight">动态类型强转 <br /></td></tr>
<tr class="separator:a34c0bc4c736824da551378ef79a12af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dc3d9f794b92569c5a8b0a94b2854a5" id="r_a1dc3d9f794b92569c5a8b0a94b2854a5"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, size_t N&gt; </td></tr>
<tr class="memitem:a1dc3d9f794b92569c5a8b0a94b2854a5"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a1dc3d9f794b92569c5a8b0a94b2854a5">dl::limit_bigger</a> (<a class="el" href="classdl_1_1_array.html">Array</a>&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a8d9c307cb7f3c4a32822a51922d1ceaa">N</a> &gt; &amp;a, const <a class="el" href="classdl_1_1_array.html">Array</a>&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a8d9c307cb7f3c4a32822a51922d1ceaa">N</a> &gt; &amp;limit)</td></tr>
<tr class="memdesc:a1dc3d9f794b92569c5a8b0a94b2854a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">限制到大于某个值,如果修改了原值则返回true <br /></td></tr>
<tr class="separator:a1dc3d9f794b92569c5a8b0a94b2854a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5da7124e2917c29d69fd25cd410c7c51" id="r_a5da7124e2917c29d69fd25cd410c7c51"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a5da7124e2917c29d69fd25cd410c7c51"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a5da7124e2917c29d69fd25cd410c7c51">dl::as_const</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;a)</td></tr>
<tr class="separator:a5da7124e2917c29d69fd25cd410c7c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea1295180977bdc90874f6863bc839e6" id="r_aea1295180977bdc90874f6863bc839e6"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </td></tr>
<tr class="memitem:aea1295180977bdc90874f6863bc839e6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#aea1295180977bdc90874f6863bc839e6">dl::erase_head_from_last</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;container, const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> &amp;a)</td></tr>
<tr class="memdesc:aea1295180977bdc90874f6863bc839e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">从容器container中移除 最后 匹配到的a元素 之前(包含a)的所有元素,如果没有匹配到,则什么都不做。 <br /></td></tr>
<tr class="separator:aea1295180977bdc90874f6863bc839e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b564312a9b0c343d280251d34d657c5" id="r_a8b564312a9b0c343d280251d34d657c5"><td class="memTemplParams" colspan="2">template&lt;PopFrontAble C, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a>&gt; </td></tr>
<tr class="memitem:a8b564312a9b0c343d280251d34d657c5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a8b564312a9b0c343d280251d34d657c5">dl::operate_front</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a0d61f8370cad1d412f80b84d143e1257">C</a> &amp;container, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a> func)</td></tr>
<tr class="memdesc:a8b564312a9b0c343d280251d34d657c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">从容器container不断取出第一个元素,执行操作 <br /></td></tr>
<tr class="separator:a8b564312a9b0c343d280251d34d657c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e5b1c6bc62b38c656703d937bf34ec2" id="r_a0e5b1c6bc62b38c656703d937bf34ec2"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a0e5b1c6bc62b38c656703d937bf34ec2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a0e5b1c6bc62b38c656703d937bf34ec2">dl::pointer</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;&amp;x)</td></tr>
<tr class="memdesc:a0e5b1c6bc62b38c656703d937bf34ec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">查找算法 <br /></td></tr>
<tr class="separator:a0e5b1c6bc62b38c656703d937bf34ec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a989b0b168d45d0b96befa5d4673687b4" id="r_a989b0b168d45d0b96befa5d4673687b4"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a989b0b168d45d0b96befa5d4673687b4"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a989b0b168d45d0b96befa5d4673687b4">dl::constant</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;v)</td></tr>
<tr class="memdesc:a989b0b168d45d0b96befa5d4673687b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">加上const修饰 <br /></td></tr>
<tr class="separator:a989b0b168d45d0b96befa5d4673687b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af004d9460d4be43d0dce46a2da1ce242" id="r_af004d9460d4be43d0dce46a2da1ce242"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a0d61f8370cad1d412f80b84d143e1257">C</a>&gt; </td></tr>
<tr class="memitem:af004d9460d4be43d0dce46a2da1ce242"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#af004d9460d4be43d0dce46a2da1ce242">dl::find_equal</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a0d61f8370cad1d412f80b84d143e1257">C</a> &amp;container)</td></tr>
<tr class="memdesc:af004d9460d4be43d0dce46a2da1ce242"><td class="mdescLeft">&#160;</td><td class="mdescRight">替换容器元素值 <br /></td></tr>
<tr class="separator:af004d9460d4be43d0dce46a2da1ce242"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab544bf52720900dc572ebad1c8ffc112" id="r_ab544bf52720900dc572ebad1c8ffc112"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </td></tr>
<tr class="memitem:ab544bf52720900dc572ebad1c8ffc112"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#ab544bf52720900dc572ebad1c8ffc112">dl::insert_per_num</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;container, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> v, size_t per_num)</td></tr>
<tr class="memdesc:ab544bf52720900dc572ebad1c8ffc112"><td class="mdescLeft">&#160;</td><td class="mdescRight">隔n个元素就插入1个分割符,首尾不会出现分割符 <br /></td></tr>
<tr class="separator:ab544bf52720900dc572ebad1c8ffc112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a2fd0b740f2a0fc5ae5f80ee49118fd" id="r_a0a2fd0b740f2a0fc5ae5f80ee49118fd"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </td></tr>
<tr class="memitem:a0a2fd0b740f2a0fc5ae5f80ee49118fd"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a0a2fd0b740f2a0fc5ae5f80ee49118fd">dl::r_insert_per_num</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;container, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> v, size_t per_num)</td></tr>
<tr class="memdesc:a0a2fd0b740f2a0fc5ae5f80ee49118fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">从后面往前,隔n个元素就插入1个值,首尾不会出现分割符 <br /></td></tr>
<tr class="separator:a0a2fd0b740f2a0fc5ae5f80ee49118fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a206c524991d626ec57b3a5e447b1df" id="r_a7a206c524991d626ec57b3a5e447b1df"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </td></tr>
<tr class="memitem:a7a206c524991d626ec57b3a5e447b1df"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a7a206c524991d626ec57b3a5e447b1df">dl::split</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;container, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> delimiter, std::vector&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; &amp;ret)</td></tr>
<tr class="memdesc:a7a206c524991d626ec57b3a5e447b1df"><td class="mdescLeft">&#160;</td><td class="mdescRight">以 元素 分割 容器 <br /></td></tr>
<tr class="separator:a7a206c524991d626ec57b3a5e447b1df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a166a9ec405e539466b83048000ff3d0e" id="r_a166a9ec405e539466b83048000ff3d0e"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </td></tr>
<tr class="memitem:a166a9ec405e539466b83048000ff3d0e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a166a9ec405e539466b83048000ff3d0e">dl::split_no_empty</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;container, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> delimiter, std::vector&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; &amp;ret)</td></tr>
<tr class="memdesc:a166a9ec405e539466b83048000ff3d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">以 元素 分割 容器 <br /></td></tr>
<tr class="separator:a166a9ec405e539466b83048000ff3d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4714fa07e5fde18ea1f6028225bd4012" id="r_a4714fa07e5fde18ea1f6028225bd4012"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a4714fa07e5fde18ea1f6028225bd4012"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a4714fa07e5fde18ea1f6028225bd4012">dl::split_sub</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;container, const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;delimiter, std::vector&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; &amp;ret)</td></tr>
<tr class="memdesc:a4714fa07e5fde18ea1f6028225bd4012"><td class="mdescLeft">&#160;</td><td class="mdescRight">以 子串 分割 容器 <br /></td></tr>
<tr class="separator:a4714fa07e5fde18ea1f6028225bd4012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a773c1fc65bc8cb8a5b9a6d32ec67f68e" id="r_a773c1fc65bc8cb8a5b9a6d32ec67f68e"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </td></tr>
<tr class="memitem:a773c1fc65bc8cb8a5b9a6d32ec67f68e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a773c1fc65bc8cb8a5b9a6d32ec67f68e">dl::make_sequence</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;c, const std::initializer_list&lt; std::initializer_list&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> &gt; &gt; &amp;vec)</td></tr>
<tr class="memdesc:a773c1fc65bc8cb8a5b9a6d32ec67f68e"><td class="mdescLeft">&#160;</td><td class="mdescRight">生成序列 <br /></td></tr>
<tr class="separator:a773c1fc65bc8cb8a5b9a6d32ec67f68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b3133592114ae71b27b1c4d35a22d8d" id="r_a2b3133592114ae71b27b1c4d35a22d8d"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a0d61f8370cad1d412f80b84d143e1257">C</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a>&gt; </td></tr>
<tr class="memitem:a2b3133592114ae71b27b1c4d35a22d8d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a2b3133592114ae71b27b1c4d35a22d8d">dl::for_couple</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a0d61f8370cad1d412f80b84d143e1257">C</a> &amp;container, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a> func, bool ring=false)</td></tr>
<tr class="memdesc:a2b3133592114ae71b27b1c4d35a22d8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">成对遍历 <br /></td></tr>
<tr class="separator:a2b3133592114ae71b27b1c4d35a22d8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a711bd055bfe8c009bc7aa8977b8b3dc1" id="r_a711bd055bfe8c009bc7aa8977b8b3dc1"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a0d61f8370cad1d412f80b84d143e1257">C</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a>&gt; </td></tr>
<tr class="memitem:a711bd055bfe8c009bc7aa8977b8b3dc1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a711bd055bfe8c009bc7aa8977b8b3dc1">dl::for_couple_r</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a0d61f8370cad1d412f80b84d143e1257">C</a> &amp;container, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a> func, bool ring=false)</td></tr>
<tr class="memdesc:a711bd055bfe8c009bc7aa8977b8b3dc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">反向成对遍历 <br /></td></tr>
<tr class="separator:a711bd055bfe8c009bc7aa8977b8b3dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e8a5884923eddc78378857c80cebddf" id="r_a2e8a5884923eddc78378857c80cebddf"><td class="memTemplParams" colspan="2">template&lt;IsPointer T, typename FC, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a>&gt; </td></tr>
<tr class="memitem:a2e8a5884923eddc78378857c80cebddf"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#a2e8a5884923eddc78378857c80cebddf">dl::for_tree</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> root, FC func_child, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a> func)</td></tr>
<tr class="memdesc:a2e8a5884923eddc78378857c80cebddf"><td class="mdescLeft">&#160;</td><td class="mdescRight">遍历树(使用栈,深度优先) <br /></td></tr>
<tr class="separator:a2e8a5884923eddc78378857c80cebddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af85958adc537715af0f901d0b3006c2a" id="r_af85958adc537715af0f901d0b3006c2a"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>, size_t N&gt; </td></tr>
<tr class="memitem:af85958adc537715af0f901d0b3006c2a"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#af85958adc537715af0f901d0b3006c2a">dl::arr_last</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>(&amp;arr)[<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a8d9c307cb7f3c4a32822a51922d1ceaa">N</a>])</td></tr>
<tr class="memdesc:af85958adc537715af0f901d0b3006c2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回静态数组长度 <br /></td></tr>
<tr class="separator:af85958adc537715af0f901d0b3006c2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa75c046173a363937c582362dde4f6d8" id="r_aa75c046173a363937c582362dde4f6d8"><td class="memTemplParams" colspan="2">template&lt;IsSigned T&gt; </td></tr>
<tr class="memitem:aa75c046173a363937c582362dde4f6d8"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#aa75c046173a363937c582362dde4f6d8">dl::sign</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;v)</td></tr>
<tr class="memdesc:aa75c046173a363937c582362dde4f6d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回符号,正数返回1、负数返回-1、0返回0 <br /></td></tr>
<tr class="separator:aa75c046173a363937c582362dde4f6d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabc8e5fdf22094f22c3ffdbbc77f9a95" id="r_aabc8e5fdf22094f22c3ffdbbc77f9a95"><td class="memTemplParams" colspan="2">template&lt;size_t N&gt; </td></tr>
<tr class="memitem:aabc8e5fdf22094f22c3ffdbbc77f9a95"><td class="memTemplItemLeft" align="right" valign="top">consteval uint64_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacedl.html#aabc8e5fdf22094f22c3ffdbbc77f9a95">dl::str_uid</a> (const char(&amp;str)[<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a8d9c307cb7f3c4a32822a51922d1ceaa">N</a>])</td></tr>
<tr class="memdesc:aabc8e5fdf22094f22c3ffdbbc77f9a95"><td class="mdescLeft">&#160;</td><td class="mdescRight">固定条件的字符串,生成唯一id <br /></td></tr>
<tr class="separator:aabc8e5fdf22094f22c3ffdbbc77f9a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>算法 </p>
<dl class="section version"><dt>版本</dt><dd>1.0 </dd></dl>
<dl class="section author"><dt>作者</dt><dd>lveyou </dd></dl>
<dl class="section date"><dt>日期</dt><dd>23-06-22</dd></dl>
<dl class="section note"><dt>注解</dt><dd>不得包含dl_range.h </dd></dl>
<p class="definition">在文件 <a class="el" href="dl__algorithm_8h_source.html">dl_algorithm.h</a> 中定义.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1
</small></address>
</div><!-- doc-content -->
</body>
</html>