blob: d80f640bbf74bbc8112565825718781047070c74 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>ublas: boost::numeric::ublas::matrix_indirect&lt; M, IA &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
<div class="navpath"><b>boost</b>::<b>numeric</b>::<b>ublas</b>::<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a>
</div>
</div>
<div class="contents">
<h1>boost::numeric::ublas::matrix_indirect&lt; M, IA &gt; Class Template Reference</h1><!-- doxytag: class="boost::numeric::ublas::matrix_indirect" --><!-- doxytag: inherits="matrix_expression&lt; matrix_indirect&lt; M, IA &gt; &gt;" -->
<p>A <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a> referencing a non continuous submatrix of elements given another <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a> of indices.
<a href="#_details">More...</a></p>
<p>Inherits <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__expression.html">matrix_expression&lt; matrix_indirect&lt; M, IA &gt; &gt;</a>.</p>
<p><a href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator1.html">const_iterator1</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator2.html">const_iterator2</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator1.html">iterator1</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator2.html">iterator2</a></td></tr>
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1da5ef4f46e14a358654c20fca5a7b8"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::matrix_type" ref="ac1da5ef4f46e14a358654c20fca5a7b8" args="" -->
typedef M&nbsp;</td><td class="memItemRight" valign="bottom"><b>matrix_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99bb73bf657e7ba37dc4a65f494c5a07"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::indirect_array_type" ref="a99bb73bf657e7ba37dc4a65f494c5a07" args="" -->
typedef IA&nbsp;</td><td class="memItemRight" valign="bottom"><b>indirect_array_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42c1ca04a163f213bc21ca0c99059ef2"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::size_type" ref="a42c1ca04a163f213bc21ca0c99059ef2" args="" -->
typedef M::size_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e3c35da28727bc3bac76f280a873af0"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::difference_type" ref="a2e3c35da28727bc3bac76f280a873af0" args="" -->
typedef M::difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f105fed443e1955978e4856852a5566"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::value_type" ref="a5f105fed443e1955978e4856852a5566" args="" -->
typedef M::value_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc074e20b1c3073a6d1240be58351ce6"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::const_reference" ref="acc074e20b1c3073a6d1240be58351ce6" args="" -->
typedef M::const_reference&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2825b873e37cca3e061cfa67bb6b1404"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::reference" ref="a2825b873e37cca3e061cfa67bb6b1404" args="" -->
typedef boost::mpl::if_<br class="typebreak"/>
&lt; boost::is_const&lt; M &gt;<br class="typebreak"/>
, typename M::const_reference, <br class="typebreak"/>
typename M::reference &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a595603ee5aee2cbed985e483d39a54cc"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::matrix_closure_type" ref="a595603ee5aee2cbed985e483d39a54cc" args="" -->
typedef boost::mpl::if_<br class="typebreak"/>
&lt; boost::is_const&lt; M &gt;<br class="typebreak"/>
, typename <br class="typebreak"/>
M::const_closure_type, <br class="typebreak"/>
typename M::closure_type &gt;<br class="typebreak"/>
::type&nbsp;</td><td class="memItemRight" valign="bottom"><b>matrix_closure_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0698ceec4a4675c513c6a23891e682dd"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::range_type" ref="a0698ceec4a4675c513c6a23891e682dd" args="" -->
typedef <a class="el" href="classboost_1_1numeric_1_1ublas_1_1basic__range.html">basic_range</a>&lt; size_type, <br class="typebreak"/>
difference_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8c81d5efd11a1fedfc97b8eac7f1e00"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::slice_type" ref="ae8c81d5efd11a1fedfc97b8eac7f1e00" args="" -->
typedef <a class="el" href="classboost_1_1numeric_1_1ublas_1_1basic__slice.html">basic_slice</a>&lt; size_type, <br class="typebreak"/>
difference_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>slice_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e7b02054f15816181b48b41028591b6"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::const_closure_type" ref="a1e7b02054f15816181b48b41028591b6" args="" -->
typedef const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">self_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_closure_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a914a7c632ff3d75253f546d40f576177"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::closure_type" ref="a914a7c632ff3d75253f546d40f576177" args="" -->
typedef <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">self_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>closure_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d593d86ba9b5fc42921510ab37e02bc"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::storage_category" ref="a6d593d86ba9b5fc42921510ab37e02bc" args="" -->
typedef <br class="typebreak"/>
<a class="el" href="structboost_1_1numeric_1_1ublas_1_1storage__restrict__traits.html">storage_restrict_traits</a><br class="typebreak"/>
&lt; typename M::storage_category, <br class="typebreak"/>
<a class="el" href="structboost_1_1numeric_1_1ublas_1_1dense__proxy__tag.html">dense_proxy_tag</a> &gt;<br class="typebreak"/>
::storage_category&nbsp;</td><td class="memItemRight" valign="bottom"><b>storage_category</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a815b317eadfec862db3a2d664016e48f"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::orientation_category" ref="a815b317eadfec862db3a2d664016e48f" args="" -->
typedef M::orientation_category&nbsp;</td><td class="memItemRight" valign="bottom"><b>orientation_category</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9663445f73a60c8f4b7e0ce71f4f7bf2"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::const_reverse_iterator1" ref="a9663445f73a60c8f4b7e0ce71f4f7bf2" args="" -->
typedef reverse_iterator_base1<br class="typebreak"/>
&lt; <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator1.html">const_iterator1</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_reverse_iterator1</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bba92388407dbc068733a10cbde9cc7"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::reverse_iterator1" ref="a5bba92388407dbc068733a10cbde9cc7" args="" -->
typedef reverse_iterator_base1<br class="typebreak"/>
&lt; <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator1.html">iterator1</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>reverse_iterator1</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fa5502905bc2084c3793f57aa55763e"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::const_reverse_iterator2" ref="a5fa5502905bc2084c3793f57aa55763e" args="" -->
typedef reverse_iterator_base2<br class="typebreak"/>
&lt; <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator2.html">const_iterator2</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_reverse_iterator2</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42a2b16d9b99fdd0f9d550b2b4b0efd0"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::reverse_iterator2" ref="a42a2b16d9b99fdd0f9d550b2b4b0efd0" args="" -->
typedef reverse_iterator_base2<br class="typebreak"/>
&lt; <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator2.html">iterator2</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>reverse_iterator2</b></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4aff0768c96a75738b8bc0dfcf138a77"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::matrix_indirect" ref="a4aff0768c96a75738b8bc0dfcf138a77" args="(matrix_type &amp;data, size_type size1, size_type size2)" -->
BOOST_UBLAS_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><b>matrix_indirect</b> (matrix_type &amp;data, size_type size1, size_type size2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a927b74bd70656c143266b3d013546d32"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::matrix_indirect" ref="a927b74bd70656c143266b3d013546d32" args="(matrix_type &amp;data, const indirect_array_type &amp;ia1, const indirect_array_type &amp;ia2)" -->
BOOST_UBLAS_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><b>matrix_indirect</b> (matrix_type &amp;data, const indirect_array_type &amp;ia1, const indirect_array_type &amp;ia2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb0c4273c0eeebfc2cc8d03f221f8ee7"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::matrix_indirect" ref="acb0c4273c0eeebfc2cc8d03f221f8ee7" args="(const matrix_closure_type &amp;data, const indirect_array_type &amp;ia1, const indirect_array_type &amp;ia2, int)" -->
BOOST_UBLAS_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><b>matrix_indirect</b> (const matrix_closure_type &amp;data, const indirect_array_type &amp;ia1, const indirect_array_type &amp;ia2, int)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8baf2c06434bf70bc3f8e2eb3c866f3d"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::size1" ref="a8baf2c06434bf70bc3f8e2eb3c866f3d" args="() const " -->
BOOST_UBLAS_INLINE size_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>size1</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a485f1b1c24681341201a894baabe70e0"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::size2" ref="a485f1b1c24681341201a894baabe70e0" args="() const " -->
BOOST_UBLAS_INLINE size_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>size2</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a050047133e4f7810760036975649099e"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::indirect1" ref="a050047133e4f7810760036975649099e" args="() const " -->
BOOST_UBLAS_INLINE const <br class="typebreak"/>
indirect_array_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>indirect1</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab907ac406f4f01b10bfa0eb12fbadc73"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::indirect1" ref="ab907ac406f4f01b10bfa0eb12fbadc73" args="()" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
indirect_array_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>indirect1</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a340a0c9d0b23f2ba9e88908eab9a536d"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::indirect2" ref="a340a0c9d0b23f2ba9e88908eab9a536d" args="() const " -->
BOOST_UBLAS_INLINE const <br class="typebreak"/>
indirect_array_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>indirect2</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6676ae5d0e350228c88bd60492534ca"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::indirect2" ref="ad6676ae5d0e350228c88bd60492534ca" args="()" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
indirect_array_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>indirect2</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13c5c8cb3950882412c3ffd6c6e23773"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::data" ref="a13c5c8cb3950882412c3ffd6c6e23773" args="() const " -->
BOOST_UBLAS_INLINE const <br class="typebreak"/>
matrix_closure_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>data</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb59dba5501f277227522a7ba4d0313e"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::data" ref="aeb59dba5501f277227522a7ba4d0313e" args="()" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
matrix_closure_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>data</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a168f6c3e126fa48179eaa996c8cfbb93"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator()" ref="a168f6c3e126fa48179eaa996c8cfbb93" args="(size_type i, size_type j) const " -->
BOOST_UBLAS_INLINE const_reference&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (size_type i, size_type j) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab94dd744e0bf7a32b49b48c1d2660862"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator()" ref="ab94dd744e0bf7a32b49b48c1d2660862" args="(size_type i, size_type j)" -->
BOOST_UBLAS_INLINE reference&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (size_type i, size_type j)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d39fa0f615a04371969aa6636067a11"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::project" ref="a5d39fa0f615a04371969aa6636067a11" args="(const range_type &amp;r1, const range_type &amp;r2) const " -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a>&lt; matrix_type, <br class="typebreak"/>
indirect_array_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>project</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1basic__range.html">range_type</a> &amp;r1, const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1basic__range.html">range_type</a> &amp;r2) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd739e989169b63f763873ea2b109169"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::project" ref="abd739e989169b63f763873ea2b109169" args="(const slice_type &amp;s1, const slice_type &amp;s2) const " -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a>&lt; matrix_type, <br class="typebreak"/>
indirect_array_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>project</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1basic__slice.html">slice_type</a> &amp;s1, const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1basic__slice.html">slice_type</a> &amp;s2) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a297e51a851a5fac39b3953fb1cebf646"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::project" ref="a297e51a851a5fac39b3953fb1cebf646" args="(const indirect_array_type &amp;ia1, const indirect_array_type &amp;ia2) const " -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a>&lt; matrix_type, <br class="typebreak"/>
indirect_array_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>project</b> (const indirect_array_type &amp;ia1, const indirect_array_type &amp;ia2) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91d75d40cc37572a60763bcd4b7f8f3f"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator=" ref="a91d75d40cc37572a60763bcd4b7f8f3f" args="(const matrix_indirect &amp;mi)" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;mi)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0548da8f2c71a47d05ed0654fd187a5"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::assign_temporary" ref="ad0548da8f2c71a47d05ed0654fd187a5" args="(matrix_indirect &amp;mi)" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>assign_temporary</b> (<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;mi)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ac86bd7178deb223fcc690f01f379b98e"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator=" ref="ac86bd7178deb223fcc690f01f379b98e" args="(const matrix_expression&lt; AE &gt; &amp;ae)" -->
template&lt;class AE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__expression.html">matrix_expression</a>&lt; AE &gt; &amp;ae)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ae480d4b24197e58fbde380c6219d2e36"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::assign" ref="ae480d4b24197e58fbde380c6219d2e36" args="(const matrix_expression&lt; AE &gt; &amp;ae)" -->
template&lt;class AE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>assign</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__expression.html">matrix_expression</a>&lt; AE &gt; &amp;ae)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="abafec7c39b09211161cc603438c856fb"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator+=" ref="abafec7c39b09211161cc603438c856fb" args="(const matrix_expression&lt; AE &gt; &amp;ae)" -->
template&lt;class AE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator+=</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__expression.html">matrix_expression</a>&lt; AE &gt; &amp;ae)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a155549e582656efb819404e2a5c538aa"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::plus_assign" ref="a155549e582656efb819404e2a5c538aa" args="(const matrix_expression&lt; AE &gt; &amp;ae)" -->
template&lt;class AE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>plus_assign</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__expression.html">matrix_expression</a>&lt; AE &gt; &amp;ae)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a7f64a90926c91ba5689758233f0ab323"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator&#45;=" ref="a7f64a90926c91ba5689758233f0ab323" args="(const matrix_expression&lt; AE &gt; &amp;ae)" -->
template&lt;class AE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator-=</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__expression.html">matrix_expression</a>&lt; AE &gt; &amp;ae)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a93050a908b2827391c5c565efd71cec3"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::minus_assign" ref="a93050a908b2827391c5c565efd71cec3" args="(const matrix_expression&lt; AE &gt; &amp;ae)" -->
template&lt;class AE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>minus_assign</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__expression.html">matrix_expression</a>&lt; AE &gt; &amp;ae)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ad9732c6446d983f72d071e96c15904f9"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator*=" ref="ad9732c6446d983f72d071e96c15904f9" args="(const AT &amp;at)" -->
template&lt;class AT &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator*=</b> (const AT &amp;at)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="af0ad63df9208fe2d8e60bb4b602001ee"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator/=" ref="af0ad63df9208fe2d8e60bb4b602001ee" args="(const AT &amp;at)" -->
template&lt;class AT &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BOOST_UBLAS_INLINE <br class="typebreak"/>
<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator/=</b> (const AT &amp;at)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a364974f3a8b021b33edab7de968bf5d0"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::same_closure" ref="a364974f3a8b021b33edab7de968bf5d0" args="(const matrix_indirect &amp;mi) const " -->
BOOST_UBLAS_INLINE bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>same_closure</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;mi) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6dca918f0f0a7c3c5715fe6a1c2c0db"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::operator==" ref="ad6dca918f0f0a7c3c5715fe6a1c2c0db" args="(const matrix_indirect &amp;mi) const " -->
BOOST_UBLAS_INLINE bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> &amp;mi) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c0a1763679620752bc4fcdb612c38d4"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::swap" ref="a2c0a1763679620752bc4fcdb612c38d4" args="(matrix_indirect mi)" -->
BOOST_UBLAS_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> mi)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad10e11894d1f3598aef4c2ff3c9704e1"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::find1" ref="ad10e11894d1f3598aef4c2ff3c9704e1" args="(int, size_type i, size_type j) const " -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator1.html">const_iterator1</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>find1</b> (int, size_type i, size_type j) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8967551770978fe439020796132b24bf"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::find1" ref="a8967551770978fe439020796132b24bf" args="(int, size_type i, size_type j)" -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator1.html">iterator1</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>find1</b> (int, size_type i, size_type j)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2353bdd8ca98f80a2adfad20ec6f08e8"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::find2" ref="a2353bdd8ca98f80a2adfad20ec6f08e8" args="(int, size_type i, size_type j) const " -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator2.html">const_iterator2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>find2</b> (int, size_type i, size_type j) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac600cd3afd9ec8f51bf143123832bf42"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::find2" ref="ac600cd3afd9ec8f51bf143123832bf42" args="(int, size_type i, size_type j)" -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator2.html">iterator2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>find2</b> (int, size_type i, size_type j)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a264ba6347017a0c471548dbd4d185614"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::begin1" ref="a264ba6347017a0c471548dbd4d185614" args="() const " -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator1.html">const_iterator1</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>begin1</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2c2e3ff2c3781a79fcfa002c5107f82"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::end1" ref="ae2c2e3ff2c3781a79fcfa002c5107f82" args="() const " -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator1.html">const_iterator1</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>end1</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a7502efedaa3e206fab3d90fec511d6"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::begin1" ref="a5a7502efedaa3e206fab3d90fec511d6" args="()" -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator1.html">iterator1</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>begin1</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3074ca4fbf4a03c6011c5c140e3ca9e6"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::end1" ref="a3074ca4fbf4a03c6011c5c140e3ca9e6" args="()" -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator1.html">iterator1</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>end1</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d35b788bf97ff6c2741c9bc8a0037bf"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::begin2" ref="a4d35b788bf97ff6c2741c9bc8a0037bf" args="() const " -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator2.html">const_iterator2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>begin2</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a578cde22cd6364acad410038cf46ba9b"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::end2" ref="a578cde22cd6364acad410038cf46ba9b" args="() const " -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1const__iterator2.html">const_iterator2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>end2</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4426fb3e324fed31bfb68a8478e171d"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::begin2" ref="ac4426fb3e324fed31bfb68a8478e171d" args="()" -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator2.html">iterator2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>begin2</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5ce82f3ccac762da697322c9affff57"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::end2" ref="ad5ce82f3ccac762da697322c9affff57" args="()" -->
BOOST_UBLAS_INLINE <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect_1_1iterator2.html">iterator2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>end2</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c7b63d8c8dca6d8ad3fe3ba18260481"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::rbegin1" ref="a8c7b63d8c8dca6d8ad3fe3ba18260481" args="() const " -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
const_reverse_iterator1&nbsp;</td><td class="memItemRight" valign="bottom"><b>rbegin1</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89107d785e171760880e47cfa0b3c479"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::rend1" ref="a89107d785e171760880e47cfa0b3c479" args="() const " -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
const_reverse_iterator1&nbsp;</td><td class="memItemRight" valign="bottom"><b>rend1</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3c2c410c7acf881219ad33a543b0684"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::rbegin1" ref="ad3c2c410c7acf881219ad33a543b0684" args="()" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
reverse_iterator1&nbsp;</td><td class="memItemRight" valign="bottom"><b>rbegin1</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace128e9cf897d461a9b66e691ab34980"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::rend1" ref="ace128e9cf897d461a9b66e691ab34980" args="()" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
reverse_iterator1&nbsp;</td><td class="memItemRight" valign="bottom"><b>rend1</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cc5fd9b3bf857166466e94b1db72955"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::rbegin2" ref="a0cc5fd9b3bf857166466e94b1db72955" args="() const " -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
const_reverse_iterator2&nbsp;</td><td class="memItemRight" valign="bottom"><b>rbegin2</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a208d22b103999a3d3d70495e6ec9be55"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::rend2" ref="a208d22b103999a3d3d70495e6ec9be55" args="() const " -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
const_reverse_iterator2&nbsp;</td><td class="memItemRight" valign="bottom"><b>rend2</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23b6f2beeb8c5843c284912e1498ad5b"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::rbegin2" ref="a23b6f2beeb8c5843c284912e1498ad5b" args="()" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
reverse_iterator2&nbsp;</td><td class="memItemRight" valign="bottom"><b>rbegin2</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d9bcb059218cc630722db6392404b86"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::rend2" ref="a2d9bcb059218cc630722db6392404b86" args="()" -->
BOOST_UBLAS_INLINE <br class="typebreak"/>
reverse_iterator2&nbsp;</td><td class="memItemRight" valign="bottom"><b>rend2</b> ()</td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1003f5b368bad5faa10e9847bcd3a2ee"></a><!-- doxytag: member="boost::numeric::ublas::matrix_indirect::swap" ref="a1003f5b368bad5faa10e9847bcd3a2ee" args="(matrix_indirect mi1, matrix_indirect mi2)" -->
BOOST_UBLAS_INLINE friend void&nbsp;</td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> mi1, <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html">matrix_indirect</a> mi2)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class M, class IA&gt;<br/>
class boost::numeric::ublas::matrix_indirect&lt; M, IA &gt;</h3>
<p>It is the most general version of any submatrices because it uses another <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a> of indices to reference the submatrix.</p>
<p>The <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a> of indices can be of any type with the restriction that its elements must be type-compatible with the size_type <code>of</code> the container. In practice, the following are good candidates:</p>
<ul>
<li><code>boost::numeric::ublas::indirect_array&lt;A&gt;</code> where <code>A</code> can be <code>int</code>, <code>size_t</code>, <code>long</code>, etc...</li>
<li><code>boost::numeric::ublas::matrix&lt;int&gt;</code> can work too (<code>int</code> can be replaced by another integer type)</li>
<li>etc...</li>
</ul>
<p>An indirect <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a> can be used as a normal <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a> in any expression. If the specified indirect <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a> falls outside that of the indices of the <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a>, then the <code><a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix__indirect.html" title="A matrix referencing a non continuous submatrix of elements given another matrix...">matrix_indirect</a></code> is not a well formed Matrix Expression and access to an element outside of indices of the <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a> is <b>undefined</b>.</p>
<dl><dt><b>Template Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>V</em>&nbsp;</td><td>the type of the referenced <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a>, for example <code>matrix&lt;double&gt;</code>) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>IA</em>&nbsp;</td><td>the type of index <a class="el" href="classboost_1_1numeric_1_1ublas_1_1matrix.html" title="A dense matrix of values of type T.">matrix</a>. Default is <code>ublas::indirect_array&lt;&gt;</code> </td></tr>
</table>
</dd>
</dl>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Jul 4 20:31:07 2010 for ublas by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>