Metahuman_DNA_Calibration/docs/doxygen/build/html/structtdm_1_1mat.html

1888 lines
140 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::mat&lt; R, C, 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_1mat.html">mat</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="#pri-attribs">Private Attributes</a> &#124;
<a href="structtdm_1_1mat-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">tdm::mat&lt; R, C, T &gt; Struct Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="Mat_8h_source.html">Mat.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for tdm::mat&lt; R, C, T &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="structtdm_1_1mat__coll__graph.png" border="0" usemap="#atdm_1_1mat_3_01R_00_01C_00_01T_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="atdm_1_1mat_3_01R_00_01C_00_01T_01_4_coll__map" id="atdm_1_1mat_3_01R_00_01C_00_01T_01_4_coll__map">
<area shape="rect" title=" " alt="" coords="5,1408,144,2116"/>
<area shape="rect" href="structtdm_1_1vec.html" title=" " alt="" coords="10,769,139,1345"/>
<area shape="rect" href="structtdm_1_1vec.html" title=" " alt="" coords="16,145,133,707"/>
<area shape="rect" title=" " alt="" coords="55,5,94,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:ad991bf735aab5ffae2dc718771f9a83e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#ad991bf735aab5ffae2dc718771f9a83e">value_type</a> = T</td></tr>
<tr class="separator:ad991bf735aab5ffae2dc718771f9a83e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af325f87d61c47ea25eb67e4103f23a73"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a> = <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; C, <a class="el" href="structtdm_1_1mat.html#ad991bf735aab5ffae2dc718771f9a83e">value_type</a> &gt;</td></tr>
<tr class="separator:af325f87d61c47ea25eb67e4103f23a73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a269c30d45a8359c65274a3b60e20d402"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a269c30d45a8359c65274a3b60e20d402">column_type</a> = <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; R, <a class="el" href="structtdm_1_1mat.html#ad991bf735aab5ffae2dc718771f9a83e">value_type</a> &gt;</td></tr>
<tr class="separator:a269c30d45a8359c65274a3b60e20d402"><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:a77187b377ef8a045f7b64bf08bad23e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a77187b377ef8a045f7b64bf08bad23e7">mat</a> ()</td></tr>
<tr class="separator:a77187b377ef8a045f7b64bf08bad23e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cd5a441ff1153499ddd51c0c9cc059c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a0cd5a441ff1153499ddd51c0c9cc059c">~mat</a> ()=default</td></tr>
<tr class="separator:a0cd5a441ff1153499ddd51c0c9cc059c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55e1a25c0b1a36aad0c1502af4cb92f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a55e1a25c0b1a36aad0c1502af4cb92f1">mat</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a> &amp;)=default</td></tr>
<tr class="separator:a55e1a25c0b1a36aad0c1502af4cb92f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f2ad1323a78efde68a7339c370c92b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a6f2ad1323a78efde68a7339c370c92b5">operator=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a> &amp;)=default</td></tr>
<tr class="separator:a6f2ad1323a78efde68a7339c370c92b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd939d606842ccae93ea15a7233b2984"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#acd939d606842ccae93ea15a7233b2984">mat</a> (<a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&amp;)=default</td></tr>
<tr class="separator:acd939d606842ccae93ea15a7233b2984"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4ba1f2542fca6ee8f8da2e877a9ce15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#aa4ba1f2542fca6ee8f8da2e877a9ce15">operator=</a> (<a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&amp;)=default</td></tr>
<tr class="separator:aa4ba1f2542fca6ee8f8da2e877a9ce15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adffb14160b228f2891b0e8b35f9159b9"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:adffb14160b228f2891b0e8b35f9159b9"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#adffb14160b228f2891b0e8b35f9159b9">mat</a> (U scalar)</td></tr>
<tr class="separator:adffb14160b228f2891b0e8b35f9159b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a888169ad4c2153fb163111592feaf04b"><td class="memTemplParams" colspan="2">template&lt;typename ... Us, typename std::enable_if&lt; sizeof...(Us)==R *C &gt;::type * = nullptr&gt; </td></tr>
<tr class="memitem:a888169ad4c2153fb163111592feaf04b"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a888169ad4c2153fb163111592feaf04b">mat</a> (Us... scalars)</td></tr>
<tr class="separator:a888169ad4c2153fb163111592feaf04b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50a343afe2e9dfaf23c684926feecd3a"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a50a343afe2e9dfaf23c684926feecd3a"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a50a343afe2e9dfaf23c684926feecd3a">mat</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a50a343afe2e9dfaf23c684926feecd3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c38f0391111f7f3abdb1515f4cada87"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a9c38f0391111f7f3abdb1515f4cada87"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a9c38f0391111f7f3abdb1515f4cada87">operator=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a9c38f0391111f7f3abdb1515f4cada87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a814d14a9967da1d408a30f2bb458ab70"><td class="memTemplParams" colspan="2">template&lt;typename ... Us, typename std::enable_if&lt; sizeof...(Us)==R &gt;::type * = nullptr&gt; </td></tr>
<tr class="memitem:a814d14a9967da1d408a30f2bb458ab70"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a814d14a9967da1d408a30f2bb458ab70">mat</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; C, Us &gt; &amp;... vs)</td></tr>
<tr class="separator:a814d14a9967da1d408a30f2bb458ab70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28676d29eff05941db41e19038d396b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">operator[]</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> index)</td></tr>
<tr class="separator:a28676d29eff05941db41e19038d396b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab2f4f9b1cbcce8659554685b88e0bb6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#aab2f4f9b1cbcce8659554685b88e0bb6">operator[]</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> index) const</td></tr>
<tr class="separator:aab2f4f9b1cbcce8659554685b88e0bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad52e8e3b78322e23e3b730a63e3195"><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a3ad52e8e3b78322e23e3b730a63e3195">operator()</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> rowIndex, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> colIndex)</td></tr>
<tr class="separator:a3ad52e8e3b78322e23e3b730a63e3195"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52d65787641686be0065fdde669ba29f"><td class="memItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a52d65787641686be0065fdde669ba29f">operator()</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> rowIndex, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> colIndex) const</td></tr>
<tr class="separator:a52d65787641686be0065fdde669ba29f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b4b59b8794a8e4223119c64c47252dc"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
<tr class="memitem:a5b4b59b8794a8e4223119c64c47252dc"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a> (F func)</td></tr>
<tr class="separator:a5b4b59b8794a8e4223119c64c47252dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ae74a3bef3a5c8f893921b4ff98a2ce"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
<tr class="memitem:a0ae74a3bef3a5c8f893921b4ff98a2ce"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a0ae74a3bef3a5c8f893921b4ff98a2ce">apply</a> (F func) const</td></tr>
<tr class="separator:a0ae74a3bef3a5c8f893921b4ff98a2ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec3c26701f100034f360ed7e3362c7fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#aec3c26701f100034f360ed7e3362c7fb">operator++</a> ()</td></tr>
<tr class="separator:aec3c26701f100034f360ed7e3362c7fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fc80cab422df88dcdf40dd70658c1c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a5fc80cab422df88dcdf40dd70658c1c2">operator--</a> ()</td></tr>
<tr class="separator:a5fc80cab422df88dcdf40dd70658c1c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87b2bc4f7e6203582d4532b53cbbe4d3"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a87b2bc4f7e6203582d4532b53cbbe4d3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a87b2bc4f7e6203582d4532b53cbbe4d3">operator+=</a> (U rhs)</td></tr>
<tr class="separator:a87b2bc4f7e6203582d4532b53cbbe4d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae935981e3ab781b1ef0e89161def5c3"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:aae935981e3ab781b1ef0e89161def5c3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#aae935981e3ab781b1ef0e89161def5c3">operator+=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, U &gt; &amp;rhs)</td></tr>
<tr class="separator:aae935981e3ab781b1ef0e89161def5c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a5734f3a110db2834b50a6d89da270d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a3a5734f3a110db2834b50a6d89da270d">operator+=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a> &amp;rhs)</td></tr>
<tr class="separator:a3a5734f3a110db2834b50a6d89da270d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b16a5b3b1fbe6301ade535514ae3162"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a2b16a5b3b1fbe6301ade535514ae3162"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a2b16a5b3b1fbe6301ade535514ae3162">operator-=</a> (U rhs)</td></tr>
<tr class="separator:a2b16a5b3b1fbe6301ade535514ae3162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae636128bf5fe51d09696a6100d61add8"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:ae636128bf5fe51d09696a6100d61add8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#ae636128bf5fe51d09696a6100d61add8">operator-=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, U &gt; &amp;rhs)</td></tr>
<tr class="separator:ae636128bf5fe51d09696a6100d61add8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29fe6f1d8441e382c03e1dd0bde72f92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a29fe6f1d8441e382c03e1dd0bde72f92">operator-=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a> &amp;rhs)</td></tr>
<tr class="separator:a29fe6f1d8441e382c03e1dd0bde72f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb7677682ab2012eabadc12eff42630"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:afcb7677682ab2012eabadc12eff42630"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#afcb7677682ab2012eabadc12eff42630">operator*=</a> (U rhs)</td></tr>
<tr class="separator:afcb7677682ab2012eabadc12eff42630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12a6568e39d3bc62a47d97d928a676db"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a12a6568e39d3bc62a47d97d928a676db"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a12a6568e39d3bc62a47d97d928a676db">operator*=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a12a6568e39d3bc62a47d97d928a676db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f109a327ecbc86af9f06a0835b8dbf6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a8f109a327ecbc86af9f06a0835b8dbf6">operator*=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a> &amp;rhs)</td></tr>
<tr class="separator:a8f109a327ecbc86af9f06a0835b8dbf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d0a8e94bfb1833c426a11a43dcbe443"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a0d0a8e94bfb1833c426a11a43dcbe443"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a0d0a8e94bfb1833c426a11a43dcbe443">operator/=</a> (U rhs)</td></tr>
<tr class="separator:a0d0a8e94bfb1833c426a11a43dcbe443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08905db39e54a925f0326cbeed84066d"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a08905db39e54a925f0326cbeed84066d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a08905db39e54a925f0326cbeed84066d">operator/=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, U &gt; &amp;rhs)</td></tr>
<tr class="separator:a08905db39e54a925f0326cbeed84066d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc400ed8e25714b79c7308f89da1d240"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#abc400ed8e25714b79c7308f89da1d240">operator/=</a> (const <a class="el" href="structtdm_1_1mat.html">mat</a> &amp;rhs)</td></tr>
<tr class="separator:abc400ed8e25714b79c7308f89da1d240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a022b835621316779fcb5f1655ac2b449"><td class="memTemplParams" colspan="2">template&lt;typename ... , <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </td></tr>
<tr class="memitem:a022b835621316779fcb5f1655ac2b449"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; H==W, <a class="el" href="structtdm_1_1mat.html">mat</a> &amp; &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a022b835621316779fcb5f1655ac2b449">transpose</a> ()</td></tr>
<tr class="separator:a022b835621316779fcb5f1655ac2b449"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa145e30a3c416cfaa04181a28e69eeed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html">mat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#aa145e30a3c416cfaa04181a28e69eeed">negate</a> ()</td></tr>
<tr class="separator:aa145e30a3c416cfaa04181a28e69eeed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56d8473ad2e6e10d5d105cd098208741"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> index) const</td></tr>
<tr class="separator:a56d8473ad2e6e10d5d105cd098208741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41de3ceaa4bd5309b2432edea56a01ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html#a269c30d45a8359c65274a3b60e20d402">column_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a41de3ceaa4bd5309b2432edea56a01ab">column</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> index) const</td></tr>
<tr class="separator:a41de3ceaa4bd5309b2432edea56a01ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae922d5cf365cc0e8f4e6cca0b1d81135"><td class="memTemplParams" colspan="2">template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W&gt; </td></tr>
<tr class="memitem:ae922d5cf365cc0e8f4e6cca0b1d81135"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt;(H &gt;1 &amp;&amp;W &gt;1 &amp;&amp;H&lt;=R &amp;&amp;W&lt;=C), <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; H, W, T &gt; &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#ae922d5cf365cc0e8f4e6cca0b1d81135">submat</a> (<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> y, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> x) const</td></tr>
<tr class="separator:ae922d5cf365cc0e8f4e6cca0b1d81135"><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:ad4b61cae9009d2f75f5bbbede7fe40ec"><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_1mat.html#ad4b61cae9009d2f75f5bbbede7fe40ec">rows</a> ()</td></tr>
<tr class="separator:ad4b61cae9009d2f75f5bbbede7fe40ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0404b858cafe5d412467a41d169400dc"><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_1mat.html#a0404b858cafe5d412467a41d169400dc">columns</a> ()</td></tr>
<tr class="separator:a0404b858cafe5d412467a41d169400dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af211e4e27ae53a43d9db60c0af57b0e7"><td class="memTemplParams" colspan="2">template&lt;typename ... Us, typename std::enable_if&lt; sizeof...(Us)==R &gt;::type * = nullptr&gt; </td></tr>
<tr class="memitem:af211e4e27ae53a43d9db60c0af57b0e7"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="structtdm_1_1mat.html">mat</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#af211e4e27ae53a43d9db60c0af57b0e7">fromRows</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; C, Us &gt; &amp;... vs)</td></tr>
<tr class="separator:af211e4e27ae53a43d9db60c0af57b0e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f1b734dca470f22bffdcaf838c3b711"><td class="memTemplParams" colspan="2">template&lt;typename ... Us, typename std::enable_if&lt; sizeof...(Us)==C &gt;::type * = nullptr&gt; </td></tr>
<tr class="memitem:a9f1b734dca470f22bffdcaf838c3b711"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="structtdm_1_1mat.html">mat</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a9f1b734dca470f22bffdcaf838c3b711">fromColumns</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; R, Us &gt; &amp;... vs)</td></tr>
<tr class="separator:a9f1b734dca470f22bffdcaf838c3b711"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56a703b4e3136f62ec910f2edb532a87"><td class="memTemplParams" colspan="2">template&lt;typename U , typename ... , <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </td></tr>
<tr class="memitem:a56a703b4e3136f62ec910f2edb532a87"><td class="memTemplItemLeft" align="right" valign="top">static std::enable_if&lt; H==W, <a class="el" href="structtdm_1_1mat.html">mat</a> &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a56a703b4e3136f62ec910f2edb532a87">diagonal</a> (U scalar)</td></tr>
<tr class="separator:a56a703b4e3136f62ec910f2edb532a87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab6b43639f0fb0f1b309920d809e04d3"><td class="memTemplParams" colspan="2">template&lt;typename U , typename ... , <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </td></tr>
<tr class="memitem:aab6b43639f0fb0f1b309920d809e04d3"><td class="memTemplItemLeft" align="right" valign="top">static std::enable_if&lt; H==W, <a class="el" href="structtdm_1_1mat.html">mat</a> &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#aab6b43639f0fb0f1b309920d809e04d3">diagonal</a> (const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; W, U &gt; &amp;scalars)</td></tr>
<tr class="separator:aab6b43639f0fb0f1b309920d809e04d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a742fc9c84bf1d6bbb9a5cb29eb959f73"><td class="memTemplParams" colspan="2">template&lt;typename ... Us, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </td></tr>
<tr class="memitem:a742fc9c84bf1d6bbb9a5cb29eb959f73"><td class="memTemplItemLeft" align="right" valign="top">static std::enable_if&lt;(H==W)&amp;&amp;(sizeof...(Us)==H), <a class="el" href="structtdm_1_1mat.html">mat</a> &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a742fc9c84bf1d6bbb9a5cb29eb959f73">diagonal</a> (Us... scalars)</td></tr>
<tr class="separator:a742fc9c84bf1d6bbb9a5cb29eb959f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11da46b865ad6c5876d68bcb3ec46724"><td class="memTemplParams" colspan="2">template&lt;typename ... , <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </td></tr>
<tr class="memitem:a11da46b865ad6c5876d68bcb3ec46724"><td class="memTemplItemLeft" align="right" valign="top">static std::enable_if&lt; H==W, <a class="el" href="structtdm_1_1mat.html">mat</a> &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a11da46b865ad6c5876d68bcb3ec46724">identity</a> ()</td></tr>
<tr class="separator:a11da46b865ad6c5876d68bcb3ec46724"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a0eb976bda4ac453b8ecf5d58f2cc8320"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">values</a> [R]</td></tr>
<tr class="separator:a0eb976bda4ac453b8ecf5d58f2cc8320"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a269c30d45a8359c65274a3b60e20d402" name="a269c30d45a8359c65274a3b60e20d402"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a269c30d45a8359c65274a3b60e20d402">&#9670;&nbsp;</a></span>column_type</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::column_type = <a class="el" href="structtdm_1_1vec.html">vec</a>&lt;R, <a class="el" href="structtdm_1_1mat.html#ad991bf735aab5ffae2dc718771f9a83e">value_type</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af325f87d61c47ea25eb67e4103f23a73" name="af325f87d61c47ea25eb67e4103f23a73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af325f87d61c47ea25eb67e4103f23a73">&#9670;&nbsp;</a></span>row_type</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::row_type = <a class="el" href="structtdm_1_1vec.html">vec</a>&lt;C, <a class="el" href="structtdm_1_1mat.html#ad991bf735aab5ffae2dc718771f9a83e">value_type</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad991bf735aab5ffae2dc718771f9a83e" name="ad991bf735aab5ffae2dc718771f9a83e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad991bf735aab5ffae2dc718771f9a83e">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::value_type = T</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a77187b377ef8a045f7b64bf08bad23e7" name="a77187b377ef8a045f7b64bf08bad23e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77187b377ef8a045f7b64bf08bad23e7">&#9670;&nbsp;</a></span>mat() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::mat </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"> 34</span> : <a class="code hl_variable" href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">values</a>{} {</div>
<div class="line"><span class="lineno"> 35</span> }</div>
<div class="ttc" id="astructtdm_1_1mat_html_a0eb976bda4ac453b8ecf5d58f2cc8320"><div class="ttname"><a href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">tdm::mat::values</a></div><div class="ttdeci">row_type values[R]</div><div class="ttdef"><b>Definition:</b> Mat.h:31</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0cd5a441ff1153499ddd51c0c9cc059c" name="a0cd5a441ff1153499ddd51c0c9cc059c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cd5a441ff1153499ddd51c0c9cc059c">&#9670;&nbsp;</a></span>~mat()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::~<a class="el" href="structtdm_1_1mat.html">mat</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="a55e1a25c0b1a36aad0c1502af4cb92f1" name="a55e1a25c0b1a36aad0c1502af4cb92f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55e1a25c0b1a36aad0c1502af4cb92f1">&#9670;&nbsp;</a></span>mat() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::mat </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, T &gt; &amp;&#160;</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="acd939d606842ccae93ea15a7233b2984" name="acd939d606842ccae93ea15a7233b2984"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd939d606842ccae93ea15a7233b2984">&#9670;&nbsp;</a></span>mat() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::mat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, T &gt; &amp;&amp;&#160;</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="adffb14160b228f2891b0e8b35f9159b9" name="adffb14160b228f2891b0e8b35f9159b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adffb14160b228f2891b0e8b35f9159b9">&#9670;&nbsp;</a></span>mat() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::mat </td>
<td>(</td>
<td class="paramtype">U&#160;</td>
<td class="paramname"><em>scalar</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> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([scalar](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 48</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> = <a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>{scalar};</div>
<div class="line"><span class="lineno"> 49</span> });</div>
<div class="line"><span class="lineno"> 50</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 class="ttc" id="astructtdm_1_1mat_html_a56d8473ad2e6e10d5d105cd098208741"><div class="ttname"><a href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat::row</a></div><div class="ttdeci">row_type row(dim_t index) const</div><div class="ttdef"><b>Definition:</b> Mat.h:247</div></div>
<div class="ttc" id="astructtdm_1_1mat_html_a5b4b59b8794a8e4223119c64c47252dc"><div class="ttname"><a href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat::apply</a></div><div class="ttdeci">mat &amp; apply(F func)</div><div class="ttdef"><b>Definition:</b> Mat.h:140</div></div>
<div class="ttc" id="astructtdm_1_1mat_html_af325f87d61c47ea25eb67e4103f23a73"><div class="ttname"><a href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">tdm::mat::row_type</a></div><div class="ttdeci">vec&lt; C, value_type &gt; row_type</div><div class="ttdef"><b>Definition:</b> Mat.h:19</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a888169ad4c2153fb163111592feaf04b" name="a888169ad4c2153fb163111592feaf04b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a888169ad4c2153fb163111592feaf04b">&#9670;&nbsp;</a></span>mat() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... Us, typename std::enable_if&lt; sizeof...(Us)==R *C &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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::mat </td>
<td>(</td>
<td class="paramtype">Us...&#160;</td>
<td class="paramname"><em>scalars</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"> 53</span> {</div>
<div class="line"><span class="lineno"> 54</span> T tmp[<span class="keyword">sizeof</span>...(Us)] = {<span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(scalars)...};</div>
<div class="line"><span class="lineno"> 55</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([&amp;tmp](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri) {</div>
<div class="line"><span class="lineno"> 56</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>.<a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([&amp;tmp, ri](<a class="code hl_typedef" href="structtdm_1_1mat.html#ad991bf735aab5ffae2dc718771f9a83e">value_type</a>&amp; value, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ci) {</div>
<div class="line"><span class="lineno"> 57</span> value = tmp[ri * <a class="code hl_function" href="structtdm_1_1mat.html#a0404b858cafe5d412467a41d169400dc">columns</a>() + ci];</div>
<div class="line"><span class="lineno"> 58</span> });</div>
<div class="line"><span class="lineno"> 59</span> });</div>
<div class="line"><span class="lineno"> 60</span> }</div>
<div class="ttc" id="astructtdm_1_1mat_html_a0404b858cafe5d412467a41d169400dc"><div class="ttname"><a href="structtdm_1_1mat.html#a0404b858cafe5d412467a41d169400dc">tdm::mat::columns</a></div><div class="ttdeci">static constexpr dim_t columns()</div><div class="ttdef"><b>Definition:</b> Mat.h:26</div></div>
<div class="ttc" id="astructtdm_1_1mat_html_ad991bf735aab5ffae2dc718771f9a83e"><div class="ttname"><a href="structtdm_1_1mat.html#ad991bf735aab5ffae2dc718771f9a83e">tdm::mat::value_type</a></div><div class="ttdeci">T value_type</div><div class="ttdef"><b>Definition:</b> Mat.h:18</div></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_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1mat.html#a0404b858cafe5d412467a41d169400dc">tdm::mat&lt; R, C, T &gt;::columns()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a50a343afe2e9dfaf23c684926feecd3a" name="a50a343afe2e9dfaf23c684926feecd3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50a343afe2e9dfaf23c684926feecd3a">&#9670;&nbsp;</a></span>mat() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::mat </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 63</span> {</div>
<div class="line"><span class="lineno"> 64</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([&amp;rhs](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri) {</div>
<div class="line"><span class="lineno"> 65</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> = rhs[ri];</div>
<div class="line"><span class="lineno"> 66</span> });</div>
<div class="line"><span class="lineno"> 67</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a814d14a9967da1d408a30f2bb458ab70" name="a814d14a9967da1d408a30f2bb458ab70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a814d14a9967da1d408a30f2bb458ab70">&#9670;&nbsp;</a></span>mat() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... Us, typename std::enable_if&lt; sizeof...(Us)==R &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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::mat </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; C, Us &gt; &amp;...&#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"> 75</span> : <a class="code hl_variable" href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">values</a>{<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>{vs} ...} {</div>
<div class="line"><span class="lineno"> 76</span> }</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a5b4b59b8794a8e4223119c64c47252dc" name="a5b4b59b8794a8e4223119c64c47252dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b4b59b8794a8e4223119c64c47252dc">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 140</span> {</div>
<div class="line"><span class="lineno"> 141</span> <span class="keywordflow">for</span> (<a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri{}; ri != <a class="code hl_function" href="structtdm_1_1mat.html#ad4b61cae9009d2f75f5bbbede7fe40ec">rows</a>(); ++ri) {</div>
<div class="line"><span class="lineno"> 142</span> func(<a class="code hl_variable" href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">values</a>[ri], ri);</div>
<div class="line"><span class="lineno"> 143</span> }</div>
<div class="line"><span class="lineno"> 144</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 145</span> }</div>
<div class="ttc" id="astructtdm_1_1mat_html_ad4b61cae9009d2f75f5bbbede7fe40ec"><div class="ttname"><a href="structtdm_1_1mat.html#ad4b61cae9009d2f75f5bbbede7fe40ec">tdm::mat::rows</a></div><div class="ttdeci">static constexpr dim_t rows()</div><div class="ttdef"><b>Definition:</b> Mat.h:22</div></div>
</div><!-- fragment -->
<p class="reference">References <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_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">tdm::mat&lt; R, C, T &gt;::values</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a41de3ceaa4bd5309b2432edea56a01ab">tdm::mat&lt; R, C, T &gt;::column()</a>, <a class="el" href="structtdm_1_1mat.html#a56a703b4e3136f62ec910f2edb532a87">tdm::mat&lt; R, C, T &gt;::diagonal()</a>, <a class="el" href="structtdm_1_1mat.html#adffb14160b228f2891b0e8b35f9159b9">tdm::mat&lt; R, C, T &gt;::mat()</a>, <a class="el" href="structtdm_1_1mat.html#aa145e30a3c416cfaa04181a28e69eeed">tdm::mat&lt; R, C, T &gt;::negate()</a>, <a class="el" href="namespacetdm.html#a08e49d8ff89d5f6181234465a4ddad90">tdm::operator*()</a>, <a class="el" href="structtdm_1_1mat.html#afcb7677682ab2012eabadc12eff42630">tdm::mat&lt; R, C, T &gt;::operator*=()</a>, <a class="el" href="structtdm_1_1mat.html#aec3c26701f100034f360ed7e3362c7fb">tdm::mat&lt; R, C, T &gt;::operator++()</a>, <a class="el" href="structtdm_1_1mat.html#a87b2bc4f7e6203582d4532b53cbbe4d3">tdm::mat&lt; R, C, T &gt;::operator+=()</a>, <a class="el" href="structtdm_1_1mat.html#a5fc80cab422df88dcdf40dd70658c1c2">tdm::mat&lt; R, C, T &gt;::operator--()</a>, <a class="el" href="structtdm_1_1mat.html#a2b16a5b3b1fbe6301ade535514ae3162">tdm::mat&lt; R, C, T &gt;::operator-=()</a>, <a class="el" href="namespacetdm.html#a1d9fb0a814c5ba0b8dcd18367bbccdfa">tdm::operator/()</a>, <a class="el" href="structtdm_1_1mat.html#a0d0a8e94bfb1833c426a11a43dcbe443">tdm::mat&lt; R, C, T &gt;::operator/=()</a>, <a class="el" href="namespacetdm.html#a96d97543e016a745e13fc5636da84e0f">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="namespacetdm.html#ad5abf5602d97e3df89baa5700086e9cd">tdm::transpose()</a>.</p>
</div>
</div>
<a id="a0ae74a3bef3a5c8f893921b4ff98a2ce" name="a0ae74a3bef3a5c8f893921b4ff98a2ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ae74a3bef3a5c8f893921b4ff98a2ce">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 148</span> {</div>
<div class="line"><span class="lineno"> 149</span> <span class="keywordflow">for</span> (<a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri{}; ri != <a class="code hl_function" href="structtdm_1_1mat.html#ad4b61cae9009d2f75f5bbbede7fe40ec">rows</a>(); ++ri) {</div>
<div class="line"><span class="lineno"> 150</span> func(<a class="code hl_variable" href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">values</a>[ri], ri);</div>
<div class="line"><span class="lineno"> 151</span> }</div>
<div class="line"><span class="lineno"> 152</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 153</span> }</div>
</div><!-- fragment -->
<p class="reference">References <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_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">tdm::mat&lt; R, C, T &gt;::values</a>.</p>
</div>
</div>
<a id="a41de3ceaa4bd5309b2432edea56a01ab" name="a41de3ceaa4bd5309b2432edea56a01ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41de3ceaa4bd5309b2432edea56a01ab">&#9670;&nbsp;</a></span>column()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html#a269c30d45a8359c65274a3b60e20d402">column_type</a> <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::column </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"> 251</span> {</div>
<div class="line"><span class="lineno"> 252</span> <a class="code hl_typedef" href="structtdm_1_1mat.html#a269c30d45a8359c65274a3b60e20d402">column_type</a> col;</div>
<div class="line"><span class="lineno"> 253</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([&amp;col, index](<span class="keyword">const</span> <a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri) {</div>
<div class="line"><span class="lineno"> 254</span> col[ri] = <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>[index];</div>
<div class="line"><span class="lineno"> 255</span> });</div>
<div class="line"><span class="lineno"> 256</span> <span class="keywordflow">return</span> col;</div>
<div class="line"><span class="lineno"> 257</span> }</div>
<div class="ttc" id="astructtdm_1_1mat_html_a269c30d45a8359c65274a3b60e20d402"><div class="ttname"><a href="structtdm_1_1mat.html#a269c30d45a8359c65274a3b60e20d402">tdm::mat::column_type</a></div><div class="ttdeci">vec&lt; R, value_type &gt; column_type</div><div class="ttdef"><b>Definition:</b> Mat.h:20</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
<p class="reference">Referenced by <a class="el" href="namespacetdm.html#a6259ba09d35d37f4b2ab5896e9abcc30">tdm::operator*()</a>.</p>
</div>
</div>
<a id="a0404b858cafe5d412467a41d169400dc" name="a0404b858cafe5d412467a41d169400dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0404b858cafe5d412467a41d169400dc">&#9670;&nbsp;</a></span>columns()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::columns </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"> 26</span> {</div>
<div class="line"><span class="lineno"> 27</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">row_type::dimensions</a>();</div>
<div class="line"><span class="lineno"> 28</span> }</div>
<div class="ttc" id="astructtdm_1_1vec_html_a0124146b684564619f7af68b70f982ec"><div class="ttname"><a href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">tdm::vec&lt; C, value_type &gt;::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; C, value_type &gt;::dimensions()</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>, and <a class="el" href="structtdm_1_1mat.html#ae922d5cf365cc0e8f4e6cca0b1d81135">tdm::mat&lt; R, C, T &gt;::submat()</a>.</p>
</div>
</div>
<a id="aab6b43639f0fb0f1b309920d809e04d3" name="aab6b43639f0fb0f1b309920d809e04d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab6b43639f0fb0f1b309920d809e04d3">&#9670;&nbsp;</a></span>diagonal() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U , typename ... , <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::enable_if&lt; H==W, <a class="el" href="structtdm_1_1mat.html">mat</a> &gt;::type <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::diagonal </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; W, U &gt; &amp;&#160;</td>
<td class="paramname"><em>scalars</em></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> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 99</span> {</div>
<div class="line"><span class="lineno"> 100</span> <a class="code hl_function" href="structtdm_1_1mat.html#a77187b377ef8a045f7b64bf08bad23e7">mat</a> ret;</div>
<div class="line"><span class="lineno"> 101</span> ret.apply([&amp;scalars](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri) {</div>
<div class="line"><span class="lineno"> 102</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>[ri] = scalars[ri];</div>
<div class="line"><span class="lineno"> 103</span> });</div>
<div class="line"><span class="lineno"> 104</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><span class="lineno"> 105</span> }</div>
<div class="ttc" id="astructtdm_1_1mat_html_a77187b377ef8a045f7b64bf08bad23e7"><div class="ttname"><a href="structtdm_1_1mat.html#a77187b377ef8a045f7b64bf08bad23e7">tdm::mat::mat</a></div><div class="ttdeci">mat()</div><div class="ttdef"><b>Definition:</b> Mat.h:34</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a56a703b4e3136f62ec910f2edb532a87" name="a56a703b4e3136f62ec910f2edb532a87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56a703b4e3136f62ec910f2edb532a87">&#9670;&nbsp;</a></span>diagonal() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename U , typename ... , <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::enable_if&lt; H==W, <a class="el" href="structtdm_1_1mat.html">mat</a> &gt;::type <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::diagonal </td>
<td>(</td>
<td class="paramtype">U&#160;</td>
<td class="paramname"><em>scalar</em></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> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 90</span> {</div>
<div class="line"><span class="lineno"> 91</span> <a class="code hl_function" href="structtdm_1_1mat.html#a77187b377ef8a045f7b64bf08bad23e7">mat</a> ret;</div>
<div class="line"><span class="lineno"> 92</span> ret.apply([scalar](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri) {</div>
<div class="line"><span class="lineno"> 93</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>[ri] = scalar;</div>
<div class="line"><span class="lineno"> 94</span> });</div>
<div class="line"><span class="lineno"> 95</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><span class="lineno"> 96</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a742fc9c84bf1d6bbb9a5cb29eb959f73">tdm::mat&lt; R, C, T &gt;::diagonal()</a>, <a class="el" href="structtdm_1_1mat.html#a11da46b865ad6c5876d68bcb3ec46724">tdm::mat&lt; R, C, T &gt;::identity()</a>, and <a class="el" href="namespacetdm_1_1affine.html#afd9ea184660c9658cc406603d0a47629">tdm::affine::scale()</a>.</p>
</div>
</div>
<a id="a742fc9c84bf1d6bbb9a5cb29eb959f73" name="a742fc9c84bf1d6bbb9a5cb29eb959f73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742fc9c84bf1d6bbb9a5cb29eb959f73">&#9670;&nbsp;</a></span>diagonal() <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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... Us, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::enable_if&lt;(H==W)&amp;&amp;(sizeof...(Us)==H), <a class="el" href="structtdm_1_1mat.html">mat</a> &gt;::type <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::diagonal </td>
<td>(</td>
<td class="paramtype">Us...&#160;</td>
<td class="paramname"><em>scalars</em></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> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 108</span> {</div>
<div class="line"><span class="lineno"> 109</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56a703b4e3136f62ec910f2edb532a87">diagonal</a>(vec&lt;R, T&gt;{scalars ...});</div>
<div class="line"><span class="lineno"> 110</span> }</div>
<div class="ttc" id="astructtdm_1_1mat_html_a56a703b4e3136f62ec910f2edb532a87"><div class="ttname"><a href="structtdm_1_1mat.html#a56a703b4e3136f62ec910f2edb532a87">tdm::mat::diagonal</a></div><div class="ttdeci">static std::enable_if&lt; H==W, mat &gt;::type diagonal(U scalar)</div><div class="ttdef"><b>Definition:</b> Mat.h:90</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a56a703b4e3136f62ec910f2edb532a87">tdm::mat&lt; R, C, T &gt;::diagonal()</a>.</p>
</div>
</div>
<a id="a9f1b734dca470f22bffdcaf838c3b711" name="a9f1b734dca470f22bffdcaf838c3b711"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f1b734dca470f22bffdcaf838c3b711">&#9670;&nbsp;</a></span>fromColumns()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... Us, typename std::enable_if&lt; sizeof...(Us)==C &gt;::type * = nullptr&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="structtdm_1_1mat.html">mat</a> <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::fromColumns </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; R, Us &gt; &amp;...&#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 class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 84</span> {</div>
<div class="line"><span class="lineno"> 85</span> <a class="code hl_function" href="structtdm_1_1mat.html#a77187b377ef8a045f7b64bf08bad23e7">mat</a>&lt;<span class="keyword">sizeof</span>...(vs), R, T&gt; tmp{vs ...};</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespacetdm.html#ad5abf5602d97e3df89baa5700086e9cd">tdm::transpose</a>(tmp);</div>
<div class="line"><span class="lineno"> 87</span> }</div>
<div class="ttc" id="anamespacetdm_html_ad5abf5602d97e3df89baa5700086e9cd"><div class="ttname"><a href="namespacetdm.html#ad5abf5602d97e3df89baa5700086e9cd">tdm::transpose</a></div><div class="ttdeci">mat&lt; C, R, T &gt; transpose(const mat&lt; R, C, T &gt; &amp;m)</div><div class="ttdef"><b>Definition:</b> Computations.h:57</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacetdm.html#ad5abf5602d97e3df89baa5700086e9cd">tdm::transpose()</a>.</p>
</div>
</div>
<a id="af211e4e27ae53a43d9db60c0af57b0e7" name="af211e4e27ae53a43d9db60c0af57b0e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af211e4e27ae53a43d9db60c0af57b0e7">&#9670;&nbsp;</a></span>fromRows()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... Us, typename std::enable_if&lt; sizeof...(Us)==R &gt;::type * = nullptr&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="structtdm_1_1mat.html">mat</a> <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::fromRows </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1vec.html">vec</a>&lt; C, Us &gt; &amp;...&#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 class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 79</span> {</div>
<div class="line"><span class="lineno"> 80</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a77187b377ef8a045f7b64bf08bad23e7">mat</a>{vs ...};</div>
<div class="line"><span class="lineno"> 81</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a11da46b865ad6c5876d68bcb3ec46724" name="a11da46b865ad6c5876d68bcb3ec46724"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11da46b865ad6c5876d68bcb3ec46724">&#9670;&nbsp;</a></span>identity()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... , <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::enable_if&lt; H==W, <a class="el" href="structtdm_1_1mat.html">mat</a> &gt;::type <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::identity </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> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 113</span> {</div>
<div class="line"><span class="lineno"> 114</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56a703b4e3136f62ec910f2edb532a87">diagonal</a>(<span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(1));</div>
<div class="line"><span class="lineno"> 115</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a56a703b4e3136f62ec910f2edb532a87">tdm::mat&lt; R, C, T &gt;::diagonal()</a>.</p>
<p class="reference">Referenced by <a class="el" href="namespacednac.html#adc964674d792834010e5809c7599b824">dnac::extractTranslationMatrix()</a>.</p>
</div>
</div>
<a id="aa145e30a3c416cfaa04181a28e69eeed" name="aa145e30a3c416cfaa04181a28e69eeed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa145e30a3c416cfaa04181a28e69eeed">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 240</span> {</div>
<div class="line"><span class="lineno"> 241</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 242</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>.<a class="code hl_function" href="structtdm_1_1vec.html#a3f3ea73401edb017414292df5c64d4a8">negate</a>();</div>
<div class="line"><span class="lineno"> 243</span> });</div>
<div class="line"><span class="lineno"> 244</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 245</span> }</div>
<div class="ttc" id="astructtdm_1_1vec_html_a3f3ea73401edb017414292df5c64d4a8"><div class="ttname"><a href="structtdm_1_1vec.html#a3f3ea73401edb017414292df5c64d4a8">tdm::vec::negate</a></div><div class="ttdeci">vec &amp; negate()</div><div class="ttdef"><b>Definition:</b> Vec.h:178</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1vec.html#a3f3ea73401edb017414292df5c64d4a8">tdm::vec&lt; L, T &gt;::negate()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a3ad52e8e3b78322e23e3b730a63e3195" name="a3ad52e8e3b78322e23e3b730a63e3195"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ad52e8e3b78322e23e3b730a63e3195">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, 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>rowIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a>&#160;</td>
<td class="paramname"><em>colIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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"> 131</span> {</div>
<div class="line"><span class="lineno"> 132</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">operator[]</a>(rowIndex)[colIndex];</div>
<div class="line"><span class="lineno"> 133</span> }</div>
<div class="ttc" id="astructtdm_1_1mat_html_a28676d29eff05941db41e19038d396b5"><div class="ttname"><a href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">tdm::mat::operator[]</a></div><div class="ttdeci">row_type &amp; operator[](dim_t index)</div><div class="ttdef"><b>Definition:</b> Mat.h:117</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">tdm::mat&lt; R, C, T &gt;::operator[]()</a>.</p>
</div>
</div>
<a id="a52d65787641686be0065fdde669ba29f" name="a52d65787641686be0065fdde669ba29f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52d65787641686be0065fdde669ba29f">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, 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>rowIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a>&#160;</td>
<td class="paramname"><em>colIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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"> 135</span> {</div>
<div class="line"><span class="lineno"> 136</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">operator[]</a>(rowIndex)[colIndex];</div>
<div class="line"><span class="lineno"> 137</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">tdm::mat&lt; R, C, T &gt;::operator[]()</a>.</p>
</div>
</div>
<a id="a8f109a327ecbc86af9f06a0835b8dbf6" name="a8f109a327ecbc86af9f06a0835b8dbf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f109a327ecbc86af9f06a0835b8dbf6">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator*= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 215</span> {</div>
<div class="line"><span class="lineno"> 216</span> <span class="keywordflow">return</span> <span class="keyword">operator</span>*=&lt;T&gt;(rhs);</div>
<div class="line"><span class="lineno"> 217</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a12a6568e39d3bc62a47d97d928a676db" name="a12a6568e39d3bc62a47d97d928a676db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12a6568e39d3bc62a47d97d928a676db">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator*= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 211</span> {</div>
<div class="line"><span class="lineno"> 212</span> <span class="keywordflow">return</span> (*<span class="keyword">this</span> = *<span class="keyword">this</span> * rhs);</div>
<div class="line"><span class="lineno"> 213</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="afcb7677682ab2012eabadc12eff42630" name="afcb7677682ab2012eabadc12eff42630"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcb7677682ab2012eabadc12eff42630">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 204</span> {</div>
<div class="line"><span class="lineno"> 205</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([rhs](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 206</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> *= rhs;</div>
<div class="line"><span class="lineno"> 207</span> });</div>
<div class="line"><span class="lineno"> 208</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a08905db39e54a925f0326cbeed84066d">tdm::mat&lt; R, C, T &gt;::operator/=()</a>.</p>
</div>
</div>
<a id="aec3c26701f100034f360ed7e3362c7fb" name="aec3c26701f100034f360ed7e3362c7fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec3c26701f100034f360ed7e3362c7fb">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 155</span> {</div>
<div class="line"><span class="lineno"> 156</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 157</span> ++<a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>;</div>
<div class="line"><span class="lineno"> 158</span> });</div>
<div class="line"><span class="lineno"> 159</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a3a5734f3a110db2834b50a6d89da270d" name="a3a5734f3a110db2834b50a6d89da270d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a5734f3a110db2834b50a6d89da270d">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator+= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 181</span> {</div>
<div class="line"><span class="lineno"> 182</span> <span class="keywordflow">return</span> <span class="keyword">operator</span>+=&lt;T&gt;(rhs);</div>
<div class="line"><span class="lineno"> 183</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="aae935981e3ab781b1ef0e89161def5c3" name="aae935981e3ab781b1ef0e89161def5c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae935981e3ab781b1ef0e89161def5c3">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator+= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 175</span> {</div>
<div class="line"><span class="lineno"> 176</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([&amp;rhs](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri) {</div>
<div class="line"><span class="lineno"> 177</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> += rhs[ri];</div>
<div class="line"><span class="lineno"> 178</span> });</div>
<div class="line"><span class="lineno"> 179</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a87b2bc4f7e6203582d4532b53cbbe4d3" name="a87b2bc4f7e6203582d4532b53cbbe4d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87b2bc4f7e6203582d4532b53cbbe4d3">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 168</span> {</div>
<div class="line"><span class="lineno"> 169</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([rhs](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 170</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> += rhs;</div>
<div class="line"><span class="lineno"> 171</span> });</div>
<div class="line"><span class="lineno"> 172</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a5fc80cab422df88dcdf40dd70658c1c2" name="a5fc80cab422df88dcdf40dd70658c1c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fc80cab422df88dcdf40dd70658c1c2">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 161</span> {</div>
<div class="line"><span class="lineno"> 162</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 163</span> --<a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>;</div>
<div class="line"><span class="lineno"> 164</span> });</div>
<div class="line"><span class="lineno"> 165</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a29fe6f1d8441e382c03e1dd0bde72f92" name="a29fe6f1d8441e382c03e1dd0bde72f92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29fe6f1d8441e382c03e1dd0bde72f92">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator-= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 199</span> {</div>
<div class="line"><span class="lineno"> 200</span> <span class="keywordflow">return</span> <span class="keyword">operator</span>-=&lt;T&gt;(rhs);</div>
<div class="line"><span class="lineno"> 201</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae636128bf5fe51d09696a6100d61add8" name="ae636128bf5fe51d09696a6100d61add8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae636128bf5fe51d09696a6100d61add8">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator-= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 193</span> {</div>
<div class="line"><span class="lineno"> 194</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([&amp;rhs](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri) {</div>
<div class="line"><span class="lineno"> 195</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> -= rhs[ri];</div>
<div class="line"><span class="lineno"> 196</span> });</div>
<div class="line"><span class="lineno"> 197</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a2b16a5b3b1fbe6301ade535514ae3162" name="a2b16a5b3b1fbe6301ade535514ae3162"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b16a5b3b1fbe6301ade535514ae3162">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 186</span> {</div>
<div class="line"><span class="lineno"> 187</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([rhs](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 188</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> -= rhs;</div>
<div class="line"><span class="lineno"> 189</span> });</div>
<div class="line"><span class="lineno"> 190</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="abc400ed8e25714b79c7308f89da1d240" name="abc400ed8e25714b79c7308f89da1d240"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc400ed8e25714b79c7308f89da1d240">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator/= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 231</span> {</div>
<div class="line"><span class="lineno"> 232</span> <span class="keywordflow">return</span> <span class="keyword">operator</span>/=&lt;T&gt;(rhs);</div>
<div class="line"><span class="lineno"> 233</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a08905db39e54a925f0326cbeed84066d" name="a08905db39e54a925f0326cbeed84066d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08905db39e54a925f0326cbeed84066d">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator/= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 227</span> {</div>
<div class="line"><span class="lineno"> 228</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#afcb7677682ab2012eabadc12eff42630">operator*=</a>(<a class="code hl_function" href="namespacetdm.html#af6249949ec4da22bf7b907f2751efcaa">inverse</a>(rhs));</div>
<div class="line"><span class="lineno"> 229</span> }</div>
<div class="ttc" id="anamespacetdm_html_af6249949ec4da22bf7b907f2751efcaa"><div class="ttname"><a href="namespacetdm.html#af6249949ec4da22bf7b907f2751efcaa">tdm::inverse</a></div><div class="ttdeci">mat&lt; N, N, T &gt; inverse(const mat&lt; N, N, T &gt; &amp;m)</div><div class="ttdef"><b>Definition:</b> Computations.h:134</div></div>
<div class="ttc" id="astructtdm_1_1mat_html_afcb7677682ab2012eabadc12eff42630"><div class="ttname"><a href="structtdm_1_1mat.html#afcb7677682ab2012eabadc12eff42630">tdm::mat::operator*=</a></div><div class="ttdeci">mat &amp; operator*=(U rhs)</div><div class="ttdef"><b>Definition:</b> Mat.h:204</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacetdm.html#af6249949ec4da22bf7b907f2751efcaa">tdm::inverse()</a>, and <a class="el" href="structtdm_1_1mat.html#afcb7677682ab2012eabadc12eff42630">tdm::mat&lt; R, C, T &gt;::operator*=()</a>.</p>
</div>
</div>
<a id="a0d0a8e94bfb1833c426a11a43dcbe443" name="a0d0a8e94bfb1833c426a11a43dcbe443"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d0a8e94bfb1833c426a11a43dcbe443">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 220</span> {</div>
<div class="line"><span class="lineno"> 221</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">apply</a>([rhs](<a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> <span class="comment">/*unused*/</span>) {</div>
<div class="line"><span class="lineno"> 222</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a> /= rhs;</div>
<div class="line"><span class="lineno"> 223</span> });</div>
<div class="line"><span class="lineno"> 224</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="a6f2ad1323a78efde68a7339c370c92b5" name="a6f2ad1323a78efde68a7339c370c92b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f2ad1323a78efde68a7339c370c92b5">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, T &gt; &amp;&#160;</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">
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a9c38f0391111f7f3abdb1515f4cada87">tdm::mat&lt; R, C, T &gt;::operator=()</a>.</p>
</div>
</div>
<a id="a9c38f0391111f7f3abdb1515f4cada87" name="a9c38f0391111f7f3abdb1515f4cada87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c38f0391111f7f3abdb1515f4cada87">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, 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"> 70</span> {</div>
<div class="line"><span class="lineno"> 71</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a6f2ad1323a78efde68a7339c370c92b5">operator=</a>(mat&lt;R, C, T&gt;{rhs});</div>
<div class="line"><span class="lineno"> 72</span> }</div>
<div class="ttc" id="astructtdm_1_1mat_html_a6f2ad1323a78efde68a7339c370c92b5"><div class="ttname"><a href="structtdm_1_1mat.html#a6f2ad1323a78efde68a7339c370c92b5">tdm::mat::operator=</a></div><div class="ttdeci">mat &amp; operator=(const mat &amp;)=default</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a6f2ad1323a78efde68a7339c370c92b5">tdm::mat&lt; R, C, T &gt;::operator=()</a>.</p>
</div>
</div>
<a id="aa4ba1f2542fca6ee8f8da2e877a9ce15" name="aa4ba1f2542fca6ee8f8da2e877a9ce15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4ba1f2542fca6ee8f8da2e877a9ce15">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">mat</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtdm_1_1mat.html">mat</a>&lt; R, C, T &gt; &amp;&amp;&#160;</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="a28676d29eff05941db41e19038d396b5" name="a28676d29eff05941db41e19038d396b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28676d29eff05941db41e19038d396b5">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 117</span> {</div>
<div class="line"><span class="lineno"> 118</span> <span class="comment">// NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-array-to-pointer-decay,hicpp-no-array-decay)</span></div>
<div class="line"><span class="lineno"> 119</span> assert(index &lt; <a class="code hl_function" href="structtdm_1_1mat.html#ad4b61cae9009d2f75f5bbbede7fe40ec">rows</a>());</div>
<div class="line"><span class="lineno"> 120</span> <span class="comment">// NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-constant-array-index)</span></div>
<div class="line"><span class="lineno"> 121</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">values</a>[index];</div>
<div class="line"><span class="lineno"> 122</span> }</div>
</div><!-- fragment -->
<p class="reference">References <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_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">tdm::mat&lt; R, C, T &gt;::values</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a3ad52e8e3b78322e23e3b730a63e3195">tdm::mat&lt; R, C, T &gt;::operator()()</a>, and <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</a>.</p>
</div>
</div>
<a id="aab2f4f9b1cbcce8659554685b88e0bb6" name="aab2f4f9b1cbcce8659554685b88e0bb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab2f4f9b1cbcce8659554685b88e0bb6">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a> &amp; <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, 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"> 124</span> {</div>
<div class="line"><span class="lineno"> 125</span> <span class="comment">// NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-array-to-pointer-decay,hicpp-no-array-decay)</span></div>
<div class="line"><span class="lineno"> 126</span> assert(index &lt; <a class="code hl_function" href="structtdm_1_1mat.html#ad4b61cae9009d2f75f5bbbede7fe40ec">rows</a>());</div>
<div class="line"><span class="lineno"> 127</span> <span class="comment">// NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-constant-array-index)</span></div>
<div class="line"><span class="lineno"> 128</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">values</a>[index];</div>
<div class="line"><span class="lineno"> 129</span> }</div>
</div><!-- fragment -->
<p class="reference">References <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_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">tdm::mat&lt; R, C, T &gt;::values</a>.</p>
</div>
</div>
<a id="a56d8473ad2e6e10d5d105cd098208741" name="a56d8473ad2e6e10d5d105cd098208741"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56d8473ad2e6e10d5d105cd098208741">&#9670;&nbsp;</a></span>row()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a> <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::row </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"> 247</span> {</div>
<div class="line"><span class="lineno"> 248</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">operator[]</a>(index);</div>
<div class="line"><span class="lineno"> 249</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">tdm::mat&lt; R, C, T &gt;::operator[]()</a>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a41de3ceaa4bd5309b2432edea56a01ab">tdm::mat&lt; R, C, T &gt;::column()</a>, <a class="el" href="structtdm_1_1mat.html#a56a703b4e3136f62ec910f2edb532a87">tdm::mat&lt; R, C, T &gt;::diagonal()</a>, <a class="el" href="structtdm_1_1mat.html#adffb14160b228f2891b0e8b35f9159b9">tdm::mat&lt; R, C, T &gt;::mat()</a>, <a class="el" href="structtdm_1_1mat.html#aa145e30a3c416cfaa04181a28e69eeed">tdm::mat&lt; R, C, T &gt;::negate()</a>, <a class="el" href="structtdm_1_1mat.html#afcb7677682ab2012eabadc12eff42630">tdm::mat&lt; R, C, T &gt;::operator*=()</a>, <a class="el" href="structtdm_1_1mat.html#aec3c26701f100034f360ed7e3362c7fb">tdm::mat&lt; R, C, T &gt;::operator++()</a>, <a class="el" href="structtdm_1_1mat.html#a87b2bc4f7e6203582d4532b53cbbe4d3">tdm::mat&lt; R, C, T &gt;::operator+=()</a>, <a class="el" href="structtdm_1_1mat.html#a5fc80cab422df88dcdf40dd70658c1c2">tdm::mat&lt; R, C, T &gt;::operator--()</a>, <a class="el" href="structtdm_1_1mat.html#a2b16a5b3b1fbe6301ade535514ae3162">tdm::mat&lt; R, C, T &gt;::operator-=()</a>, <a class="el" href="structtdm_1_1mat.html#a0d0a8e94bfb1833c426a11a43dcbe443">tdm::mat&lt; R, C, T &gt;::operator/=()</a>, and <a class="el" href="structtdm_1_1mat.html#ae922d5cf365cc0e8f4e6cca0b1d81135">tdm::mat&lt; R, C, T &gt;::submat()</a>.</p>
</div>
</div>
<a id="ad4b61cae9009d2f75f5bbbede7fe40ec" name="ad4b61cae9009d2f75f5bbbede7fe40ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4b61cae9009d2f75f5bbbede7fe40ec">&#9670;&nbsp;</a></span>rows()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::rows </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"> 22</span> {</div>
<div class="line"><span class="lineno"> 23</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structtdm_1_1vec.html#a0124146b684564619f7af68b70f982ec">column_type::dimensions</a>();</div>
<div class="line"><span class="lineno"> 24</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>.</p>
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">tdm::mat&lt; R, C, T &gt;::operator[]()</a>, and <a class="el" href="structtdm_1_1mat.html#ae922d5cf365cc0e8f4e6cca0b1d81135">tdm::mat&lt; R, C, T &gt;::submat()</a>.</p>
</div>
</div>
<a id="ae922d5cf365cc0e8f4e6cca0b1d81135" name="ae922d5cf365cc0e8f4e6cca0b1d81135"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae922d5cf365cc0e8f4e6cca0b1d81135">&#9670;&nbsp;</a></span>submat()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt;(H &gt;1 &amp;&amp;W &gt;1 &amp;&amp;H&lt;=R &amp;&amp;W&lt;=C), <a class="el" href="structtdm_1_1mat.html">mat</a>&lt; H, W, T &gt; &gt;::type <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::submat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a>&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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"> 260</span> {</div>
<div class="line"><span class="lineno"> 261</span> assert(H + y &lt;= <a class="code hl_function" href="structtdm_1_1mat.html#ad4b61cae9009d2f75f5bbbede7fe40ec">rows</a>());</div>
<div class="line"><span class="lineno"> 262</span> assert(W + x &lt;= <a class="code hl_function" href="structtdm_1_1mat.html#a0404b858cafe5d412467a41d169400dc">columns</a>());</div>
<div class="line"><span class="lineno"> 263</span> mat&lt;H, W, T&gt; ret;</div>
<div class="line"><span class="lineno"> 264</span> ret.apply([<span class="keyword">this</span>, y, x](<span class="keyword">typename</span> <a class="code hl_typedef" href="structtdm_1_1mat.html#af325f87d61c47ea25eb67e4103f23a73">mat&lt;H, W, T&gt;::row_type</a>&amp; <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ri) {</div>
<div class="line"><span class="lineno"> 265</span> <a class="code hl_function" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">row</a>.<a class="code hl_function" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">apply</a>([<span class="keyword">this</span>, y, x, ri](<a class="code hl_typedef" href="structtdm_1_1mat.html#ad991bf735aab5ffae2dc718771f9a83e">value_type</a>&amp; value, <a class="code hl_typedef" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> ci) {</div>
<div class="line"><span class="lineno"> 266</span> value = <a class="code hl_variable" href="structtdm_1_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">values</a>[y + ri][x + ci];</div>
<div class="line"><span class="lineno"> 267</span> });</div>
<div class="line"><span class="lineno"> 268</span> });</div>
<div class="line"><span class="lineno"> 269</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><span class="lineno"> 270</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1vec.html#a127a38ee0747536a683201485e0d40c4">tdm::vec&lt; L, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1mat.html#a0404b858cafe5d412467a41d169400dc">tdm::mat&lt; R, C, T &gt;::columns()</a>, <a class="el" href="structtdm_1_1mat.html#a56d8473ad2e6e10d5d105cd098208741">tdm::mat&lt; R, C, T &gt;::row()</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_1mat.html#a0eb976bda4ac453b8ecf5d58f2cc8320">tdm::mat&lt; R, C, T &gt;::values</a>.</p>
</div>
</div>
<a id="a022b835621316779fcb5f1655ac2b449" name="a022b835621316779fcb5f1655ac2b449"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a022b835621316779fcb5f1655ac2b449">&#9670;&nbsp;</a></span>transpose()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;<a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, typename T &gt; </div>
<div class="memtemplate">
template&lt;typename ... , <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> H = R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> W = C&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::enable_if&lt; H==W, <a class="el" href="structtdm_1_1mat.html">mat</a> &amp; &gt;::type <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::transpose </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"> 236</span> {</div>
<div class="line"><span class="lineno"> 237</span> <span class="keywordflow">return</span> (*<span class="keyword">this</span> = <a class="code hl_function" href="namespacetdm.html#ad5abf5602d97e3df89baa5700086e9cd">tdm::transpose</a>(*<span class="keyword">this</span>));</div>
<div class="line"><span class="lineno"> 238</span> }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacetdm.html#ad5abf5602d97e3df89baa5700086e9cd">tdm::transpose()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0eb976bda4ac453b8ecf5d58f2cc8320" name="a0eb976bda4ac453b8ecf5d58f2cc8320"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0eb976bda4ac453b8ecf5d58f2cc8320">&#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> R, <a class="el" href="namespacetdm.html#a644d3de5f1ca2eaa628196afcfbadef4">dim_t</a> C, 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_1mat.html#af325f87d61c47ea25eb67e4103f23a73">row_type</a> <a class="el" href="structtdm_1_1mat.html">tdm::mat</a>&lt; R, C, T &gt;::values[R]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="structtdm_1_1mat.html#a5b4b59b8794a8e4223119c64c47252dc">tdm::mat&lt; R, C, T &gt;::apply()</a>, <a class="el" href="structtdm_1_1mat.html#a28676d29eff05941db41e19038d396b5">tdm::mat&lt; R, C, T &gt;::operator[]()</a>, and <a class="el" href="structtdm_1_1mat.html#ae922d5cf365cc0e8f4e6cca0b1d81135">tdm::mat&lt; R, C, T &gt;::submat()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="Mat_8h_source.html">Mat.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>