<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > > Struct Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> > <b>C++ reference</b> </div> <div align="right"> <a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a> </div> <!-- Generated by Doxygen 1.7.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</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> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <div class="left"> <form id="FSearchBox" action="search.php" method="get"> <img id="MSearchSelect" src="search/mag.png" alt=""/> <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"/> </form> </div><div class="right"></div> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespace_eigen.html">Eigen</a> </li> <li class="navelem"><a class="el" href="namespace_eigen_1_1internal.html">internal</a> </li> <li class="navelem"><a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html">traits< ProductBase< Derived, _Lhs, _Rhs > ></a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> </div> <div class="headertitle"> <div class="title">Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > > Struct Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > >" --> <p><a href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>   <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#aa91168c63fe81d13f840ddc2e31c8380a813f22ed4af87183f9ed1fbdb8b5044f">RowsAtCompileTime</a> = traits<Lhs>::RowsAtCompileTime, <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#aa91168c63fe81d13f840ddc2e31c8380a7d1c5e26b7f11e72af4a8fc7edaa8230">ColsAtCompileTime</a> = traits<Rhs>::ColsAtCompileTime, <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#aa91168c63fe81d13f840ddc2e31c8380a477648c0add18a0df9ffc91da97ef83d">MaxRowsAtCompileTime</a> = traits<Lhs>::MaxRowsAtCompileTime, <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#aa91168c63fe81d13f840ddc2e31c8380a5f102254331c0d51600b06df9e6ed9e7">MaxColsAtCompileTime</a> = traits<Rhs>::MaxColsAtCompileTime, <br/>   <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#aa91168c63fe81d13f840ddc2e31c8380a98de6d13fd0eebd719468f9d902b8f02">Flags</a>, <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#aa91168c63fe81d13f840ddc2e31c8380a24df437bc92428b27146835df3498c52">CoeffReadCost</a> = 0 <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="struct_eigen_1_1_matrix_xpr.html">MatrixXpr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ac672f659bbe938dc79f55d12b321d703">XprKind</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="struct_eigen_1_1internal_1_1remove__all.html">remove_all</a>< _Lhs >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a8de37f44f9325cd4ca3e3e5f22153129">Lhs</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="struct_eigen_1_1internal_1_1remove__all.html">remove_all</a>< _Rhs >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a511b7e2f30d98b9488d781c032ce096f">Rhs</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef scalar_product_traits<br class="typebreak"/> < typename Lhs::Scalar, <br class="typebreak"/> typename Rhs::Scalar ><br class="typebreak"/> ::ReturnType </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ae834773ccadc897014521335d1e4decd">Scalar</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef promote_storage_type<br class="typebreak"/> < typename traits< <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a8de37f44f9325cd4ca3e3e5f22153129">Lhs</a> ><br class="typebreak"/> ::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ac939a5b0116832bb0d01792fd795c376">StorageKind</a>, typename traits<br class="typebreak"/> < <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a511b7e2f30d98b9488d781c032ce096f">Rhs</a> >::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ac939a5b0116832bb0d01792fd795c376">StorageKind</a> >::ret </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ac939a5b0116832bb0d01792fd795c376">StorageKind</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="struct_eigen_1_1internal_1_1promote__index__type.html">promote_index_type</a><br class="typebreak"/> < typename traits< <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a8de37f44f9325cd4ca3e3e5f22153129">Lhs</a> ><br class="typebreak"/> ::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a9e90a6e652f563a347c6c355a59372c4">Index</a>, typename traits< <a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a511b7e2f30d98b9488d781c032ce096f">Rhs</a> ><br class="typebreak"/> ::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a9e90a6e652f563a347c6c355a59372c4">Index</a> >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a9e90a6e652f563a347c6c355a59372c4">Index</a></td></tr> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a9e90a6e652f563a347c6c355a59372c4"></a><!-- doxytag: member="Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > >::Index" ref="a9e90a6e652f563a347c6c355a59372c4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_eigen_1_1internal_1_1promote__index__type.html">promote_index_type</a><typename traits<<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a8de37f44f9325cd4ca3e3e5f22153129">Lhs</a>>::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a9e90a6e652f563a347c6c355a59372c4">Index</a>, typename traits<<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a511b7e2f30d98b9488d781c032ce096f">Rhs</a>>::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a9e90a6e652f563a347c6c355a59372c4">Index</a>>::type Eigen::internal::traits< <a class="el" href="class_eigen_1_1_product_base.html">ProductBase</a>< Derived, _Lhs, _Rhs > >::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a9e90a6e652f563a347c6c355a59372c4">Index</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_core_source.html#l00045">45</a> of file <a class="el" href="_core_source.html">Core</a>.</p> </div> </div> <a class="anchor" id="a8de37f44f9325cd4ca3e3e5f22153129"></a><!-- doxytag: member="Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > >::Lhs" ref="a8de37f44f9325cd4ca3e3e5f22153129" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_eigen_1_1internal_1_1remove__all.html">remove_all</a><_Lhs>::type Eigen::internal::traits< <a class="el" href="class_eigen_1_1_product_base.html">ProductBase</a>< Derived, _Lhs, _Rhs > >::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a8de37f44f9325cd4ca3e3e5f22153129">Lhs</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_core_source.html#l00039">39</a> of file <a class="el" href="_core_source.html">Core</a>.</p> </div> </div> <a class="anchor" id="a511b7e2f30d98b9488d781c032ce096f"></a><!-- doxytag: member="Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > >::Rhs" ref="a511b7e2f30d98b9488d781c032ce096f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_eigen_1_1internal_1_1remove__all.html">remove_all</a><_Rhs>::type Eigen::internal::traits< <a class="el" href="class_eigen_1_1_product_base.html">ProductBase</a>< Derived, _Lhs, _Rhs > >::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a511b7e2f30d98b9488d781c032ce096f">Rhs</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_core_source.html#l00040">40</a> of file <a class="el" href="_core_source.html">Core</a>.</p> </div> </div> <a class="anchor" id="ae834773ccadc897014521335d1e4decd"></a><!-- doxytag: member="Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > >::Scalar" ref="ae834773ccadc897014521335d1e4decd" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef scalar_product_traits<typename Lhs::Scalar, typename Rhs::Scalar>::ReturnType Eigen::internal::traits< <a class="el" href="class_eigen_1_1_product_base.html">ProductBase</a>< Derived, _Lhs, _Rhs > >::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ae834773ccadc897014521335d1e4decd">Scalar</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_core_source.html#l00041">41</a> of file <a class="el" href="_core_source.html">Core</a>.</p> </div> </div> <a class="anchor" id="ac939a5b0116832bb0d01792fd795c376"></a><!-- doxytag: member="Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > >::StorageKind" ref="ac939a5b0116832bb0d01792fd795c376" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef promote_storage_type<typename traits<<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a8de37f44f9325cd4ca3e3e5f22153129">Lhs</a>>::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ac939a5b0116832bb0d01792fd795c376">StorageKind</a>, typename traits<<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#a511b7e2f30d98b9488d781c032ce096f">Rhs</a>>::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ac939a5b0116832bb0d01792fd795c376">StorageKind</a>>::ret Eigen::internal::traits< <a class="el" href="class_eigen_1_1_product_base.html">ProductBase</a>< Derived, _Lhs, _Rhs > >::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ac939a5b0116832bb0d01792fd795c376">StorageKind</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_core_source.html#l00043">43</a> of file <a class="el" href="_core_source.html">Core</a>.</p> </div> </div> <a class="anchor" id="ac672f659bbe938dc79f55d12b321d703"></a><!-- doxytag: member="Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > >::XprKind" ref="ac672f659bbe938dc79f55d12b321d703" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_eigen_1_1_matrix_xpr.html">MatrixXpr</a> Eigen::internal::traits< <a class="el" href="class_eigen_1_1_product_base.html">ProductBase</a>< Derived, _Lhs, _Rhs > >::<a class="el" href="struct_eigen_1_1internal_1_1traits_3_01_product_base_3_01_derived_00_01___lhs_00_01___rhs_01_4_01_4.html#ac672f659bbe938dc79f55d12b321d703">XprKind</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_core_source.html#l00038">38</a> of file <a class="el" href="_core_source.html">Core</a>.</p> </div> </div> <hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="aa91168c63fe81d13f840ddc2e31c8380"></a><!-- doxytag: member="Eigen::internal::traits< ProductBase< Derived, _Lhs, _Rhs > >::@248" ref="aa91168c63fe81d13f840ddc2e31c8380" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="aa91168c63fe81d13f840ddc2e31c8380a813f22ed4af87183f9ed1fbdb8b5044f"></a><!-- doxytag: member="RowsAtCompileTime" ref="aa91168c63fe81d13f840ddc2e31c8380a813f22ed4af87183f9ed1fbdb8b5044f" args="" -->RowsAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="aa91168c63fe81d13f840ddc2e31c8380a7d1c5e26b7f11e72af4a8fc7edaa8230"></a><!-- doxytag: member="ColsAtCompileTime" ref="aa91168c63fe81d13f840ddc2e31c8380a7d1c5e26b7f11e72af4a8fc7edaa8230" args="" -->ColsAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="aa91168c63fe81d13f840ddc2e31c8380a477648c0add18a0df9ffc91da97ef83d"></a><!-- doxytag: member="MaxRowsAtCompileTime" ref="aa91168c63fe81d13f840ddc2e31c8380a477648c0add18a0df9ffc91da97ef83d" args="" -->MaxRowsAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="aa91168c63fe81d13f840ddc2e31c8380a5f102254331c0d51600b06df9e6ed9e7"></a><!-- doxytag: member="MaxColsAtCompileTime" ref="aa91168c63fe81d13f840ddc2e31c8380a5f102254331c0d51600b06df9e6ed9e7" args="" -->MaxColsAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="aa91168c63fe81d13f840ddc2e31c8380a98de6d13fd0eebd719468f9d902b8f02"></a><!-- doxytag: member="Flags" ref="aa91168c63fe81d13f840ddc2e31c8380a98de6d13fd0eebd719468f9d902b8f02" args="" -->Flags</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="aa91168c63fe81d13f840ddc2e31c8380a24df437bc92428b27146835df3498c52"></a><!-- doxytag: member="CoeffReadCost" ref="aa91168c63fe81d13f840ddc2e31c8380a24df437bc92428b27146835df3498c52" args="" -->CoeffReadCost</em> </td><td> </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="_core_source.html#l00046">46</a> of file <a class="el" href="_core_source.html">Core</a>.</p> </div> </div> </div> <br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>