Metahuman_DNA_Calibration/docs/doxygen/build/html/structtdm_1_1vec.html

1416 lines
90 KiB
HTML
Raw Normal View History

2022-11-28 19:21:26 +08:00
<!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>DNA Calib: tdm::vec&lt; L, T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<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">DNA Calib<span id="projectnumber">&#160;1.1</span>
</div>
<div id="projectbrief">Project brief</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>
<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('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacetdm.html">tdm</a></li><li class="navelem"><a class="el" href="structtdm_1_1vec.html">vec</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structtdm_1_1vec-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">tdm::vec&lt; L, T &gt; Struct Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="Vec_8h_source.html">Vec.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for tdm::vec&lt; L, T &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="structtdm_1_1vec__inherit__graph.png" border="0" usemap="#atdm_1_1vec_3_01L_00_01T_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="atdm_1_1vec_3_01L_00_01T_01_4_inherit__map" id="atdm_1_1vec_3_01L_00_01T_01_4_inherit__map">
<area shape="rect" title=" " alt="" coords="143,5,261,567"/>
<area shape="rect" href="structtdm_1_1vec.html" title=" " alt="" coords="5,637,113,1198"/>
<area shape="rect" href="structtdm_1_1vec.html" title=" " alt="" coords="137,629,267,1205"/>
<area shape="rect" href="structtdm_1_1vec.html" title=" " alt="" coords="291,637,399,1198"/>
</map>
</div>
<div class="dynheader">
Collaboration diagram for tdm::vec&lt; L, T &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="structtdm_1_1vec__coll__graph.png" border="0" usemap="#atdm_1_1vec_3_01L_00_01T_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="atdm_1_1vec_3_01L_00_01T_01_4_coll__map" id="atdm_1_1vec_3_01L_00_01T_01_4_coll__map">
<area shape="rect" title=" " alt="" coords="5,145,123,707"/>
<area shape="rect" title=" " alt="" coords="45,5,83,83"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a301713df61d6cf90bfb79fdbc023b301"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a301713df61d6cf90bfb79fdbc023b301">value_type</a> = T</td></tr>
<tr class="separator:a301713df61d6cf90bfb79fdbc023b301"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab5f3e6be87ab1a776b2aac23d160f17b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#ab5f3e6be87ab1a776b2aac23d160f17b">vec</a> ()</td></tr>
<tr class="separator:ab5f3e6be87ab1a776b2aac23d160f17b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac55548674d772fd950d3c2fd746a9b2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#ac55548674d772fd950d3c2fd746a9b2d">~vec</a> ()=default</td></tr>
<tr class="separator:ac55548674d772fd950d3c2fd746a9b2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64050ddd2e8b50e932a815b238d2c655"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a64050ddd2e8b50e932a815b238d2c655">vec</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a> &amp;rhs)=default</td></tr>
<tr class="separator:a64050ddd2e8b50e932a815b238d2c655"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab870d46be155fb8b071430db1071812a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#ab870d46be155fb8b071430db1071812a">operator=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a> &amp;rhs)=default</td></tr>
<tr class="separator:ab870d46be155fb8b071430db1071812a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83a74f4850a92f6d29460f5ccaf2aaae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a83a74f4850a92f6d29460f5ccaf2aaae">vec</a> (<a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&amp;rhs)=default</td></tr>
<tr class="separator:a83a74f4850a92f6d29460f5ccaf2aaae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d39a7b328ac8be09246cdd62ba80b1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a4d39a7b328ac8be09246cdd62ba80b1e">operator=</a> (<a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&amp;rhs)=default</td></tr>
<tr class="separator:a4d39a7b328ac8be09246cdd62ba80b1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4025f0bd01a2b3820b6f0f0484e7ba9"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:af4025f0bd01a2b3820b6f0f0484e7ba9"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#af4025f0bd01a2b3820b6f0f0484e7ba9">vec</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;rhs)</td></tr>
<tr class="separator:af4025f0bd01a2b3820b6f0f0484e7ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99bbca4341a572e21d0aab1136cf521c"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a99bbca4341a572e21d0aab1136cf521c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a99bbca4341a572e21d0aab1136cf521c">operator=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a99bbca4341a572e21d0aab1136cf521c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0939630b025b4bc5b53e28cd5c2c0711"><td class="memTemplParams" colspan="2">template&lt;typename ... Vs, typename std::enable_if&lt;(sizeof...(Vs)==L)||(sizeof...(Vs)==0)&gt;::type * = nullptr&gt; </td></tr>
<tr class="memitem:a0939630b025b4bc5b53e28cd5c2c0711"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a0939630b025b4bc5b53e28cd5c2c0711">vec</a> (Vs... vs)</td></tr>
<tr class="separator:a0939630b025b4bc5b53e28cd5c2c0711"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93c3f4489986c01d3f3d30301e113bc3"><td class="memTemplParams" colspan="2">template&lt;typename U , typename ... , typename std::enable_if&lt; std::is_convertible&lt; U, T &gt;::value &amp;&amp;(L &gt; 1)&gt;::type * = nullptr&gt; </td></tr>
<tr class="memitem:a93c3f4489986c01d3f3d30301e113bc3"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a93c3f4489986c01d3f3d30301e113bc3">vec</a> (U v)</td></tr>
<tr class="separator:a93c3f4489986c01d3f3d30301e113bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fd16a4802058c7553f55bcb85ea8501"><td class="memTemplParams" colspan="2">template&lt;typename U , typename ... , typename std::enable_if&lt; std::is_convertible&lt; U, T &gt;::value &gt;::type * = nullptr&gt; </td></tr>
<tr class="memitem:a2fd16a4802058c7553f55bcb85ea8501"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a2fd16a4802058c7553f55bcb85ea8501">vec</a> (U *pv)</td></tr>
<tr class="separator:a2fd16a4802058c7553f55bcb85ea8501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4122ef40de0fb0de5b10be4c4dda9d48"><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a4122ef40de0fb0de5b10be4c4dda9d48">operator[]</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> index)</td></tr>
<tr class="separator:a4122ef40de0fb0de5b10be4c4dda9d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6f4453bd360fa14f7026e45b477a3d5"><td class="memItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#af6f4453bd360fa14f7026e45b477a3d5">operator[]</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> index) const</td></tr>
<tr class="separator:af6f4453bd360fa14f7026e45b477a3d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a127a38ee0747536a683201485e0d40c4"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
<tr class="memitem:a127a38ee0747536a683201485e0d40c4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a> (F func)</td></tr>
<tr class="separator:a127a38ee0747536a683201485e0d40c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9926db83a5e120ad9a47ce6146463381"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
<tr class="memitem:a9926db83a5e120ad9a47ce6146463381"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a9926db83a5e120ad9a47ce6146463381">apply</a> (F func) const</td></tr>
<tr class="separator:a9926db83a5e120ad9a47ce6146463381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d3b53b6afe5f7bca210b84ca2dae780"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a7d3b53b6afe5f7bca210b84ca2dae780">operator++</a> ()</td></tr>
<tr class="separator:a7d3b53b6afe5f7bca210b84ca2dae780"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b18a2455e9665c7d32af2619245bb45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a4b18a2455e9665c7d32af2619245bb45">operator--</a> ()</td></tr>
<tr class="separator:a4b18a2455e9665c7d32af2619245bb45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6d7c5dc146045c9ec75531daa6ef10d"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:ae6d7c5dc146045c9ec75531daa6ef10d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#ae6d7c5dc146045c9ec75531daa6ef10d">operator+=</a> (U rhs)</td></tr>
<tr class="separator:ae6d7c5dc146045c9ec75531daa6ef10d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f98689092b25d5ff7a5477ee5b513d9"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a6f98689092b25d5ff7a5477ee5b513d9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a6f98689092b25d5ff7a5477ee5b513d9">operator+=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a6f98689092b25d5ff7a5477ee5b513d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af212414970511e401d353ad74eecbfe0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#af212414970511e401d353ad74eecbfe0">operator+=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a> &amp;rhs)</td></tr>
<tr class="separator:af212414970511e401d353ad74eecbfe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2d142ca47fadba4bb74d9f67fd2eedb"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:aa2d142ca47fadba4bb74d9f67fd2eedb"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#aa2d142ca47fadba4bb74d9f67fd2eedb">operator-=</a> (U rhs)</td></tr>
<tr class="separator:aa2d142ca47fadba4bb74d9f67fd2eedb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46bd3081bbfc2086de647ba2537fde3d"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a46bd3081bbfc2086de647ba2537fde3d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a46bd3081bbfc2086de647ba2537fde3d">operator-=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a46bd3081bbfc2086de647ba2537fde3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a72fa6baceee668b21a5cde398b11e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a6a72fa6baceee668b21a5cde398b11e2">operator-=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a> &amp;rhs)</td></tr>
<tr class="separator:a6a72fa6baceee668b21a5cde398b11e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaef4aa9e7e0c676cb4b80489c7e2f1aa"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:aaef4aa9e7e0c676cb4b80489c7e2f1aa"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#aaef4aa9e7e0c676cb4b80489c7e2f1aa">operator*=</a> (U rhs)</td></tr>
<tr class="separator:aaef4aa9e7e0c676cb4b80489c7e2f1aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a600c04f162446e8c609a87fd09ae8432"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a600c04f162446e8c609a87fd09ae8432"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a600c04f162446e8c609a87fd09ae8432">operator*=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a600c04f162446e8c609a87fd09ae8432"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7337c6685b5db47374567bd10a4ad1d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a7337c6685b5db47374567bd10a4ad1d2">operator*=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a> &amp;rhs)</td></tr>
<tr class="separator:a7337c6685b5db47374567bd10a4ad1d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26e884fc6d44c248f8bfeeea5bcad158"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a26e884fc6d44c248f8bfeeea5bcad158"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a26e884fc6d44c248f8bfeeea5bcad158">operator/=</a> (U rhs)</td></tr>
<tr class="separator:a26e884fc6d44c248f8bfeeea5bcad158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66ce768e9f0ed502f91b96746e2301dc"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a66ce768e9f0ed502f91b96746e2301dc"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a66ce768e9f0ed502f91b96746e2301dc">operator/=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a66ce768e9f0ed502f91b96746e2301dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a145ca658cd48185f0742553c1662ee42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a145ca658cd48185f0742553c1662ee42">operator/=</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a> &amp;rhs)</td></tr>
<tr class="separator:a145ca658cd48185f0742553c1662ee42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b355427a69d56cf8a32539191d96c93"><td class="memTemplParams" colspan="2">template&lt;typename ... , typename V = T&gt; </td></tr>
<tr class="memitem:a2b355427a69d56cf8a32539191d96c93"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_floating_point&lt; V &gt;::value, V &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a2b355427a69d56cf8a32539191d96c93">length</a> () const</td></tr>
<tr class="separator:a2b355427a69d56cf8a32539191d96c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd44cca051bda523e42cbfcbd26f49c9"><td class="memTemplParams" colspan="2">template&lt;typename ... , typename V = T&gt; </td></tr>
<tr class="memitem:acd44cca051bda523e42cbfcbd26f49c9"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_floating_point&lt; V &gt;::value, <a class="el" href="structtdm_1_1vec.html">vec</a> &amp; &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#acd44cca051bda523e42cbfcbd26f49c9">normalize</a> ()</td></tr>
<tr class="separator:acd44cca051bda523e42cbfcbd26f49c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3ea73401edb017414292df5c64d4a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a3f3ea73401edb017414292df5c64d4a8">negate</a> ()</td></tr>
<tr class="separator:a3f3ea73401edb017414292df5c64d4a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4027c4d7aa42fffc697b58137008fb7"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#ae4027c4d7aa42fffc697b58137008fb7">sum</a> () const</td></tr>
<tr class="separator:ae4027c4d7aa42fffc697b58137008fb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a0124146b684564619f7af68b70f982ec"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">dimensions</a> ()</td></tr>
<tr class="separator:a0124146b684564619f7af68b70f982ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:af9d396c483d8377954799b5531b02735"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1vec.html#a301713df61d6cf90bfb79fdbc023b301">value_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a> [L]</td></tr>
<tr class="separator:af9d396c483d8377954799b5531b02735"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a301713df61d6cf90bfb79fdbc023b301" name="a301713df61d6cf90bfb79fdbc023b301"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a301713df61d6cf90bfb79fdbc023b301">&#9670;&nbsp;</a></span>value_type</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::value_type = T</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ab5f3e6be87ab1a776b2aac23d160f17b" name="ab5f3e6be87ab1a776b2aac23d160f17b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5f3e6be87ab1a776b2aac23d160f17b">&#9670;&nbsp;</a></span>vec() <span class="overload">[1/7]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::vec </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 19</span> : <a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>{} {</div>
<div class="line"><span class="lineno"> 20</span> }</div>
<div class="ttc" id="astructtdm_1_1vec_html_af9d396c483d8377954799b5531b02735"><div class="ttname"><a href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec::values</a></div><div class="ttdeci">value_type values[L]</div><div class="ttdef"><b>Definition:</b> Vec.h:17</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac55548674d772fd950d3c2fd746a9b2d" name="ac55548674d772fd950d3c2fd746a9b2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac55548674d772fd950d3c2fd746a9b2d">&#9670;&nbsp;</a></span>~vec()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::~<a class="el" href="structtdm_1_1vec.html">vec</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a64050ddd2e8b50e932a815b238d2c655" name="a64050ddd2e8b50e932a815b238d2c655"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64050ddd2e8b50e932a815b238d2c655">&#9670;&nbsp;</a></span>vec() <span class="overload">[2/7]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::vec </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, T &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a83a74f4850a92f6d29460f5ccaf2aaae" name="a83a74f4850a92f6d29460f5ccaf2aaae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83a74f4850a92f6d29460f5ccaf2aaae">&#9670;&nbsp;</a></span>vec() <span class="overload">[3/7]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::vec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, T &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af4025f0bd01a2b3820b6f0f0484e7ba9" name="af4025f0bd01a2b3820b6f0f0484e7ba9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4025f0bd01a2b3820b6f0f0484e7ba9">&#9670;&nbsp;</a></span>vec() <span class="overload">[4/7]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::vec </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 31</span> {</div>
<div class="line"><span class="lineno"> 32</span> <a class="code hl_function" href="namespaceextd.html#a12ea8bc7218925e96a95740ba8110da2">std::copy</a>(std::begin(rhs.values), std::end(rhs.values), std::begin(<a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>));</div>
<div class="line"><span class="lineno"> 33</span> }</div>
<div class="ttc" id="anamespaceextd_html_a12ea8bc7218925e96a95740ba8110da2"><div class="ttname"><a href="namespaceextd.html#a12ea8bc7218925e96a95740ba8110da2">extd::copy</a></div><div class="ttdeci">void copy(const TSource &amp;source, TDestination &amp;destination)</div><div class="ttdef"><b>Definition:</b> utils/Extd.h:123</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespaceextd.html#a12ea8bc7218925e96a95740ba8110da2">extd::copy()</a>, and <a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec&lt; L, T &gt;::values</a>.</p>
</div>
</div>
<a id="a0939630b025b4bc5b53e28cd5c2c0711" name="a0939630b025b4bc5b53e28cd5c2c0711"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0939630b025b4bc5b53e28cd5c2c0711">&#9670;&nbsp;</a></span>vec() <span class="overload">[5/7]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... Vs, typename std::enable_if&lt;(sizeof...(Vs)==L)||(sizeof...(Vs)==0)&gt;::type * = nullptr&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::vec </td>
<td>(</td>
<td class="paramtype">Vs...&#160;</td>
<td class="paramname"><em>vs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 42</span> : <a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>{vs ...} {</div>
<div class="line"><span class="lineno"> 43</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a93c3f4489986c01d3f3d30301e113bc3" name="a93c3f4489986c01d3f3d30301e113bc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93c3f4489986c01d3f3d30301e113bc3">&#9670;&nbsp;</a></span>vec() <span class="overload">[6/7]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U , typename ... , typename std::enable_if&lt; std::is_convertible&lt; U, T &gt;::value &amp;&amp;(L &gt; 1)&gt;::type * = nullptr&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::vec </td>
<td>(</td>
<td class="paramtype">U&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 46</span> {</div>
<div class="line"><span class="lineno"> 47</span> std::fill_n(<a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>, <a class="code hl_function" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">dimensions</a>(), v);</div>
<div class="line"><span class="lineno"> 48</span> }</div>
<div class="ttc" id="astructtdm_1_1vec_html_a0124146b684564619f7af68b70f982ec"><div class="ttname"><a href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">tdm::vec::dimensions</a></div><div class="ttdeci">static constexpr dim_t dimensions()</div><div class="ttdef"><b>Definition:</b> Vec.h:13</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">tdm::vec&lt; L, T &gt;::dimensions()</a>, and <a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec&lt; L, T &gt;::values</a>.</p>
</div>
</div>
<a id="a2fd16a4802058c7553f55bcb85ea8501" name="a2fd16a4802058c7553f55bcb85ea8501"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fd16a4802058c7553f55bcb85ea8501">&#9670;&nbsp;</a></span>vec() <span class="overload">[7/7]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U , typename ... , typename std::enable_if&lt; std::is_convertible&lt; U, T &gt;::value &gt;::type * = nullptr&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::vec </td>
<td>(</td>
<td class="paramtype">U *&#160;</td>
<td class="paramname"><em>pv</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 51</span> {</div>
<div class="line"><span class="lineno"> 52</span> std::copy_n(pv, <a class="code hl_function" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">dimensions</a>(), std::begin(<a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>));</div>
<div class="line"><span class="lineno"> 53</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">tdm::vec&lt; L, T &gt;::dimensions()</a>, and <a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec&lt; L, T &gt;::values</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a127a38ee0747536a683201485e0d40c4" name="a127a38ee0747536a683201485e0d40c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a127a38ee0747536a683201485e0d40c4">&#9670;&nbsp;</a></span>apply() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename F &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::apply </td>
<td>(</td>
<td class="paramtype">F&#160;</td>
<td class="paramname"><em>func</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 68</span> {</div>
<div class="line"><span class="lineno"> 69</span> <span class="keywordflow">for</span> (<a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> i{}; i &lt; <a class="code hl_function" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">dimensions</a>(); ++i) {</div>
<div class="line"><span class="lineno"> 70</span> func(<a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>[i], i);</div>
<div class="line"><span class="lineno"> 71</span> }</div>
<div class="line"><span class="lineno"> 72</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 73</span> }</div>
<div class="ttc" id="anamespacetdm_html_a644d3de5f1ca2eaa628196afcfbadef4"><div class="ttname"><a href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">tdm::dim_t</a></div><div class="ttdeci">std::size_t dim_t</div><div class="ttdef"><b>Definition:</b> Types.h:22</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">tdm::vec&lt; L, T &gt;::dimensions()</a>, and <a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec&lt; L, T &gt;::values</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a888169ad4c2153fb163111592feaf04b">tdm::mat&lt; R, C, T &gt;::mat()</a>, <a class="el" href="structtdm_1_1vec.html#a3f3ea73401edb017414292df5c64d4a8">tdm::vec&lt; L, T &gt;::negate()</a>, <a class="el" href="namespacetdm.html#a6259ba09d35d37f4b2ab5896e9abcc30">tdm::operator*()</a>, <a class="el" href="structtdm_1_1vec.html#aaef4aa9e7e0c676cb4b80489c7e2f1aa">tdm::vec&lt; L, T &gt;::operator*=()</a>, <a class="el" href="structtdm_1_1vec.html#a7d3b53b6afe5f7bca210b84ca2dae780">tdm::vec&lt; L, T &gt;::operator++()</a>, <a class="el" href="structtdm_1_1vec.html#ae6d7c5dc146045c9ec75531daa6ef10d">tdm::vec&lt; L, T &gt;::operator+=()</a>, <a class="el" href="structtdm_1_1vec.html#a4b18a2455e9665c7d32af2619245bb45">tdm::vec&lt; L, T &gt;::operator--()</a>, <a class="el" href="structtdm_1_1vec.html#aa2d142ca47fadba4bb74d9f67fd2eedb">tdm::vec&lt; L, T &gt;::operator-=()</a>, <a class="el" href="structtdm_1_1vec.html#a26e884fc6d44c248f8bfeeea5bcad158">tdm::vec&lt; L, T &gt;::operator/=()</a>, <a class="el" href="namespacetdm.html#a05f811d3bc2aa12226f32a16bd59df7a">tdm::operator==()</a>, <a class="el" href="structtdm_1_1mat.html#ae922d5cf365cc0e8f4e6cca0b1d81135">tdm::mat&lt; R, C, T &gt;::submat()</a>, and <a class="el" href="structtdm_1_1vec.html#ae4027c4d7aa42fffc697b58137008fb7">tdm::vec&lt; L, T &gt;::sum()</a>.</p>
</div>
</div>
<a id="a9926db83a5e120ad9a47ce6146463381" name="a9926db83a5e120ad9a47ce6146463381"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9926db83a5e120ad9a47ce6146463381">&#9670;&nbsp;</a></span>apply() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename F &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::apply </td>
<td>(</td>
<td class="paramtype">F&#160;</td>
<td class="paramname"><em>func</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 76</span> {</div>
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">for</span> (<a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> i{}; i &lt; <a class="code hl_function" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">dimensions</a>(); ++i) {</div>
<div class="line"><span class="lineno"> 78</span> func(<a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>[i], i);</div>
<div class="line"><span class="lineno"> 79</span> }</div>
<div class="line"><span class="lineno"> 80</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 81</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">tdm::vec&lt; L, T &gt;::dimensions()</a>, and <a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec&lt; L, T &gt;::values</a>.</p>
</div>
</div>
<a id="a0124146b684564619f7af68b70f982ec" name="a0124146b684564619f7af68b70f982ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0124146b684564619f7af68b70f982ec">&#9670;&nbsp;</a></span>dimensions()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static constexpr <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::dimensions </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 13</span> {</div>
<div class="line"><span class="lineno"> 14</span> <span class="keywordflow">return</span> L;</div>
<div class="line"><span class="lineno"> 15</span> }</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1vec.html#a4122ef40de0fb0de5b10be4c4dda9d48">tdm::vec&lt; L, T &gt;::operator[]()</a>, <a class="el" href="structtdm_1_1mat.html#ad4b61cae9009d2f75f5bbbede7fe40ec">tdm::mat&lt; R, C, T &gt;::rows()</a>, and <a class="el" href="structtdm_1_1vec.html#a93c3f4489986c01d3f3d30301e113bc3">tdm::vec&lt; L, T &gt;::vec()</a>.</p>
</div>
</div>
<a id="a2b355427a69d56cf8a32539191d96c93" name="a2b355427a69d56cf8a32539191d96c93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b355427a69d56cf8a32539191d96c93">&#9670;&nbsp;</a></span>length()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... , typename V = T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_floating_point&lt; V &gt;::value, V &gt;::type <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::length </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 168</span> {</div>
<div class="line"><span class="lineno"> 169</span> <span class="keyword">const</span> <span class="keyword">auto</span>&amp; v = *<span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 170</span> <span class="keywordflow">return</span> std::sqrt((v * v).<a class="code hl_function" href="structtdm_1_1vec.html#ae4027c4d7aa42fffc697b58137008fb7">sum</a>());</div>
<div class="line"><span class="lineno"> 171</span> }</div>
<div class="ttc" id="astructtdm_1_1vec_html_ae4027c4d7aa42fffc697b58137008fb7"><div class="ttname"><a href="structtdm_1_1vec.html#ae4027c4d7aa42fffc697b58137008fb7">tdm::vec::sum</a></div><div class="ttdeci">T sum() const</div><div class="ttdef"><b>Definition:</b> Vec.h:184</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#ae4027c4d7aa42fffc697b58137008fb7">tdm::vec&lt; L, T &gt;::sum()</a>.</p>
<p class="reference">Referenced by <a class="el" href="namespacetdm.html#aa46734d11a9299f44130a29409c2963f">tdm::length()</a>, and <a class="el" href="structtdm_1_1vec.html#acd44cca051bda523e42cbfcbd26f49c9">tdm::vec&lt; L, T &gt;::normalize()</a>.</p>
</div>
</div>
<a id="a3f3ea73401edb017414292df5c64d4a8" name="a3f3ea73401edb017414292df5c64d4a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f3ea73401edb017414292df5c64d4a8">&#9670;&nbsp;</a></span>negate()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::negate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 178</span> {</div>
<div class="line"><span class="lineno"> 179</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 180</span> v = -v;</div>
<div class="line"><span class="lineno"> 181</span> });</div>
<div class="line"><span class="lineno"> 182</span> }</div>
<div class="ttc" id="astructtdm_1_1vec_html_a127a38ee0747536a683201485e0d40c4"><div class="ttname"><a href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec::apply</a></div><div class="ttdeci">vec &amp; apply(F func)</div><div class="ttdef"><b>Definition:</b> Vec.h:68</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#aa145e30a3c416cfaa04181a28e69eeed">tdm::mat&lt; R, C, T &gt;::negate()</a>, <a class="el" href="namespacetdm.html#a7e856a88d452831ae93e3f22c03b3e83">tdm::negate()</a>, and <a class="el" href="namespacetdm.html#acf53ae7eab8ff2f6aa02349020daf6fd">tdm::operator-()</a>.</p>
</div>
</div>
<a id="acd44cca051bda523e42cbfcbd26f49c9" name="acd44cca051bda523e42cbfcbd26f49c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd44cca051bda523e42cbfcbd26f49c9">&#9670;&nbsp;</a></span>normalize()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... , typename V = T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; std::is_floating_point&lt; V &gt;::value, <a class="el" href="structtdm_1_1vec.html">vec</a> &amp; &gt;::type <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::normalize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 174</span> {</div>
<div class="line"><span class="lineno"> 175</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a26e884fc6d44c248f8bfeeea5bcad158">operator/=</a>(<a class="code hl_function" href="structtdm_1_1vec.html#a2b355427a69d56cf8a32539191d96c93">length</a>());</div>
<div class="line"><span class="lineno"> 176</span> }</div>
<div class="ttc" id="astructtdm_1_1vec_html_a26e884fc6d44c248f8bfeeea5bcad158"><div class="ttname"><a href="structtdm_1_1vec.html#a26e884fc6d44c248f8bfeeea5bcad158">tdm::vec::operator/=</a></div><div class="ttdeci">vec &amp; operator/=(U rhs)</div><div class="ttdef"><b>Definition:</b> Vec.h:150</div></div>
<div class="ttc" id="astructtdm_1_1vec_html_a2b355427a69d56cf8a32539191d96c93"><div class="ttname"><a href="structtdm_1_1vec.html#a2b355427a69d56cf8a32539191d96c93">tdm::vec::length</a></div><div class="ttdeci">std::enable_if&lt; std::is_floating_point&lt; V &gt;::value, V &gt;::type length() const</div><div class="ttdef"><b>Definition:</b> Vec.h:168</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a2b355427a69d56cf8a32539191d96c93">tdm::vec&lt; L, T &gt;::length()</a>, and <a class="el" href="structtdm_1_1vec.html#a26e884fc6d44c248f8bfeeea5bcad158">tdm::vec&lt; L, T &gt;::operator/=()</a>.</p>
<p class="reference">Referenced by <a class="el" href="namespacetdm.html#a19d3e09b0d8eea38abc06732ed3775a7">tdm::normalize()</a>.</p>
</div>
</div>
<a id="a7337c6685b5db47374567bd10a4ad1d2" name="a7337c6685b5db47374567bd10a4ad1d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7337c6685b5db47374567bd10a4ad1d2">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator*= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, T &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 145</span> {</div>
<div class="line"><span class="lineno"> 146</span> <span class="keywordflow">return</span> <span class="keyword">operator</span>*=&lt;T&gt;(rhs);</div>
<div class="line"><span class="lineno"> 147</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a600c04f162446e8c609a87fd09ae8432" name="a600c04f162446e8c609a87fd09ae8432"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a600c04f162446e8c609a87fd09ae8432">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator*= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 139</span> {</div>
<div class="line"><span class="lineno"> 140</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([&amp;rhs](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> i) {</div>
<div class="line"><span class="lineno"> 141</span> v *= rhs[i];</div>
<div class="line"><span class="lineno"> 142</span> });</div>
<div class="line"><span class="lineno"> 143</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="aaef4aa9e7e0c676cb4b80489c7e2f1aa" name="aaef4aa9e7e0c676cb4b80489c7e2f1aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaef4aa9e7e0c676cb4b80489c7e2f1aa">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator*= </td>
<td>(</td>
<td class="paramtype">U&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 132</span> {</div>
<div class="line"><span class="lineno"> 133</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([rhs](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 134</span> v *= rhs;</div>
<div class="line"><span class="lineno"> 135</span> });</div>
<div class="line"><span class="lineno"> 136</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="a7d3b53b6afe5f7bca210b84ca2dae780" name="a7d3b53b6afe5f7bca210b84ca2dae780"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d3b53b6afe5f7bca210b84ca2dae780">&#9670;&nbsp;</a></span>operator++()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator++ </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 83</span> {</div>
<div class="line"><span class="lineno"> 84</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 85</span> ++v;</div>
<div class="line"><span class="lineno"> 86</span> });</div>
<div class="line"><span class="lineno"> 87</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="af212414970511e401d353ad74eecbfe0" name="af212414970511e401d353ad74eecbfe0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af212414970511e401d353ad74eecbfe0">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator+= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, T &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 109</span> {</div>
<div class="line"><span class="lineno"> 110</span> <span class="keywordflow">return</span> <span class="keyword">operator</span>+=&lt;T&gt;(rhs);</div>
<div class="line"><span class="lineno"> 111</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6f98689092b25d5ff7a5477ee5b513d9" name="a6f98689092b25d5ff7a5477ee5b513d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f98689092b25d5ff7a5477ee5b513d9">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator+= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 103</span> {</div>
<div class="line"><span class="lineno"> 104</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([&amp;rhs](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> i) {</div>
<div class="line"><span class="lineno"> 105</span> v += rhs[i];</div>
<div class="line"><span class="lineno"> 106</span> });</div>
<div class="line"><span class="lineno"> 107</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="ae6d7c5dc146045c9ec75531daa6ef10d" name="ae6d7c5dc146045c9ec75531daa6ef10d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6d7c5dc146045c9ec75531daa6ef10d">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator+= </td>
<td>(</td>
<td class="paramtype">U&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 96</span> {</div>
<div class="line"><span class="lineno"> 97</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([rhs](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 98</span> v += rhs;</div>
<div class="line"><span class="lineno"> 99</span> });</div>
<div class="line"><span class="lineno"> 100</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="a4b18a2455e9665c7d32af2619245bb45" name="a4b18a2455e9665c7d32af2619245bb45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b18a2455e9665c7d32af2619245bb45">&#9670;&nbsp;</a></span>operator--()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator-- </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 89</span> {</div>
<div class="line"><span class="lineno"> 90</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 91</span> --v;</div>
<div class="line"><span class="lineno"> 92</span> });</div>
<div class="line"><span class="lineno"> 93</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="a6a72fa6baceee668b21a5cde398b11e2" name="a6a72fa6baceee668b21a5cde398b11e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a72fa6baceee668b21a5cde398b11e2">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator-= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, T &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 127</span> {</div>
<div class="line"><span class="lineno"> 128</span> <span class="keywordflow">return</span> <span class="keyword">operator</span>-=&lt;T&gt;(rhs);</div>
<div class="line"><span class="lineno"> 129</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a46bd3081bbfc2086de647ba2537fde3d" name="a46bd3081bbfc2086de647ba2537fde3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46bd3081bbfc2086de647ba2537fde3d">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator-= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 121</span> {</div>
<div class="line"><span class="lineno"> 122</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([&amp;rhs](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> i) {</div>
<div class="line"><span class="lineno"> 123</span> v -= rhs[i];</div>
<div class="line"><span class="lineno"> 124</span> });</div>
<div class="line"><span class="lineno"> 125</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="aa2d142ca47fadba4bb74d9f67fd2eedb" name="aa2d142ca47fadba4bb74d9f67fd2eedb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2d142ca47fadba4bb74d9f67fd2eedb">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator-= </td>
<td>(</td>
<td class="paramtype">U&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 114</span> {</div>
<div class="line"><span class="lineno"> 115</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([rhs](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 116</span> v -= rhs;</div>
<div class="line"><span class="lineno"> 117</span> });</div>
<div class="line"><span class="lineno"> 118</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="a145ca658cd48185f0742553c1662ee42" name="a145ca658cd48185f0742553c1662ee42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a145ca658cd48185f0742553c1662ee42">&#9670;&nbsp;</a></span>operator/=() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator/= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, T &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 163</span> {</div>
<div class="line"><span class="lineno"> 164</span> <span class="keywordflow">return</span> <span class="keyword">operator</span>/=&lt;T&gt;(rhs);</div>
<div class="line"><span class="lineno"> 165</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a66ce768e9f0ed502f91b96746e2301dc" name="a66ce768e9f0ed502f91b96746e2301dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66ce768e9f0ed502f91b96746e2301dc">&#9670;&nbsp;</a></span>operator/=() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator/= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 157</span> {</div>
<div class="line"><span class="lineno"> 158</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([&amp;rhs](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> i) {</div>
<div class="line"><span class="lineno"> 159</span> v /= rhs[i];</div>
<div class="line"><span class="lineno"> 160</span> });</div>
<div class="line"><span class="lineno"> 161</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
</div>
</div>
<a id="a26e884fc6d44c248f8bfeeea5bcad158" name="a26e884fc6d44c248f8bfeeea5bcad158"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26e884fc6d44c248f8bfeeea5bcad158">&#9670;&nbsp;</a></span>operator/=() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator/= </td>
<td>(</td>
<td class="paramtype">U&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 150</span> {</div>
<div class="line"><span class="lineno"> 151</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([rhs](T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 152</span> v /= rhs;</div>
<div class="line"><span class="lineno"> 153</span> });</div>
<div class="line"><span class="lineno"> 154</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1vec.html#acd44cca051bda523e42cbfcbd26f49c9">tdm::vec&lt; L, T &gt;::normalize()</a>.</p>
</div>
</div>
<a id="ab870d46be155fb8b071430db1071812a" name="ab870d46be155fb8b071430db1071812a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab870d46be155fb8b071430db1071812a">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, T &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a99bbca4341a572e21d0aab1136cf521c" name="a99bbca4341a572e21d0aab1136cf521c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99bbca4341a572e21d0aab1136cf521c">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, U &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 36</span> {</div>
<div class="line"><span class="lineno"> 37</span> <a class="code hl_function" href="namespaceextd.html#a12ea8bc7218925e96a95740ba8110da2">std::copy</a>(std::begin(rhs.values), std::end(rhs.values), std::begin(<a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>));</div>
<div class="line"><span class="lineno"> 38</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 39</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespaceextd.html#a12ea8bc7218925e96a95740ba8110da2">extd::copy()</a>, and <a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec&lt; L, T &gt;::values</a>.</p>
</div>
</div>
<a id="a4d39a7b328ac8be09246cdd62ba80b1e" name="a4d39a7b328ac8be09246cdd62ba80b1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d39a7b328ac8be09246cdd62ba80b1e">&#9670;&nbsp;</a></span>operator=() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html">vec</a> &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtdm_1_1vec.html">vec</a>&lt; L, T &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4122ef40de0fb0de5b10be4c4dda9d48" name="a4122ef40de0fb0de5b10be4c4dda9d48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4122ef40de0fb0de5b10be4c4dda9d48">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator[] </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 55</span> {</div>
<div class="line"><span class="lineno"> 56</span> assert(index &lt; <a class="code hl_function" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">dimensions</a>());</div>
<div class="line"><span class="lineno"> 57</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>[index];</div>
<div class="line"><span class="lineno"> 58</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">tdm::vec&lt; L, T &gt;::dimensions()</a>, and <a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec&lt; L, T &gt;::values</a>.</p>
</div>
</div>
<a id="af6f4453bd360fa14f7026e45b477a3d5" name="af6f4453bd360fa14f7026e45b477a3d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6f4453bd360fa14f7026e45b477a3d5">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const T &amp; <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::operator[] </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 60</span> {</div>
<div class="line"><span class="lineno"> 61</span> assert(index &lt; <a class="code hl_function" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">dimensions</a>());</div>
<div class="line"><span class="lineno"> 62</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">values</a>[index];</div>
<div class="line"><span class="lineno"> 63</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">tdm::vec&lt; L, T &gt;::dimensions()</a>, and <a class="el" href="structtdm_1_1vec.html#af9d396c483d8377954799b5531b02735">tdm::vec&lt; L, T &gt;::values</a>.</p>
</div>
</div>
<a id="ae4027c4d7aa42fffc697b58137008fb7" name="ae4027c4d7aa42fffc697b58137008fb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4027c4d7aa42fffc697b58137008fb7">&#9670;&nbsp;</a></span>sum()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::sum </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 184</span> {</div>
<div class="line"><span class="lineno"> 185</span> T retval{};</div>
<div class="line"><span class="lineno"> 186</span> <a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([&amp;retval](<span class="keyword">const</span> T&amp; v, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 187</span> retval += v;</div>
<div class="line"><span class="lineno"> 188</span> });</div>
<div class="line"><span class="lineno"> 189</span> <span class="keywordflow">return</span> retval;</div>
<div class="line"><span class="lineno"> 190</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1vec.html#a2b355427a69d56cf8a32539191d96c93">tdm::vec&lt; L, T &gt;::length()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="af9d396c483d8377954799b5531b02735" name="af9d396c483d8377954799b5531b02735"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9d396c483d8377954799b5531b02735">&#9670;&nbsp;</a></span>values</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> L, typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtdm_1_1vec.html#a301713df61d6cf90bfb79fdbc023b301">value_type</a> <a class="el" href="structtdm_1_1vec.html">tdm::vec</a>&lt; L, T &gt;::values[L]</td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1vec.html#a99bbca4341a572e21d0aab1136cf521c">tdm::vec&lt; L, T &gt;::operator=()</a>, <a class="el" href="structtdm_1_1vec.html#a4122ef40de0fb0de5b10be4c4dda9d48">tdm::vec&lt; L, T &gt;::operator[]()</a>, and <a class="el" href="structtdm_1_1vec.html#af4025f0bd01a2b3820b6f0f0484e7ba9">tdm::vec&lt; L, T &gt;::vec()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li><a class="el" href="Types_8h_source.html">Types.h</a></li>
<li><a class="el" href="Vec_8h_source.html">Vec.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>