<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>MPQC: sc::SCMatrixBlock Class 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.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> </div> </div> <div class="contents"> <h1>sc::SCMatrixBlock Class Reference</h1><!-- doxytag: class="sc::SCMatrixBlock" --><!-- doxytag: inherits="sc::SavableState" --><a class="el" href="classsc_1_1SCMatrixBlock.html" title="SCMatrixBlock is the base clase for all types of blocks that comprise matrices and...">SCMatrixBlock</a> is the base clase for all types of blocks that comprise matrices and vectors. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="block_8h_source.html">block.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::SCMatrixBlock:</div> <div class="dynsection"> <p><center><img src="classsc_1_1SCMatrixBlock.png" usemap="#sc::SCMatrixBlock_map" border="0" alt=""></center> <map name="sc::SCMatrixBlock_map"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,176,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,176,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,176,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,176,24"> <area href="classsc_1_1SCMatrixDiagBlock.html" alt="sc::SCMatrixDiagBlock" shape="rect" coords="186,280,362,304"> <area href="classsc_1_1SCMatrixDiagSubBlock.html" alt="sc::SCMatrixDiagSubBlock" shape="rect" coords="186,336,362,360"> <area href="classsc_1_1SCMatrixLTriBlock.html" alt="sc::SCMatrixLTriBlock" shape="rect" coords="186,392,362,416"> <area href="classsc_1_1SCMatrixLTriSubBlock.html" alt="sc::SCMatrixLTriSubBlock" shape="rect" coords="186,448,362,472"> <area href="classsc_1_1SCMatrixRectBlock.html" alt="sc::SCMatrixRectBlock" shape="rect" coords="186,504,362,528"> <area href="classsc_1_1SCMatrixRectSubBlock.html" alt="sc::SCMatrixRectSubBlock" shape="rect" coords="186,560,362,584"> <area href="classsc_1_1SCVectorSimpleBlock.html" alt="sc::SCVectorSimpleBlock" shape="rect" coords="186,616,362,640"> <area href="classsc_1_1SCVectorSimpleSubBlock.html" alt="sc::SCVectorSimpleSubBlock" shape="rect" coords="186,672,362,696"> </map> </div> <p> <a href="classsc_1_1SCMatrixBlock-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76eb8f8452707d4057695ef75f672be7"></a><!-- doxytag: member="sc::SCMatrixBlock::SCMatrixBlock" ref="76eb8f8452707d4057695ef75f672be7" args="(StateIn &s)" --> </td><td class="memItemRight" valign="bottom"><b>SCMatrixBlock</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &s)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SCMatrixBlock.html#ffdd5a3bf3b700083a02c2c4a95395ac">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. <a href="#ffdd5a3bf3b700083a02c2c4a95395ac"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SCMatrixBlock.html#2aec95478d8f748d21682f1a234897a0">deepcopy</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return of copy of this. <a href="#2aec95478d8f748d21682f1a234897a0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SCMatrixBlock.html#c6601cf7d328c55a7302084dd07bcb79">dat</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a pointer to the block's data and the number of elements in the block. <a href="#c6601cf7d328c55a7302084dd07bcb79"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c56f4c31481d8f11df96461353f3b99"></a><!-- doxytag: member="sc::SCMatrixBlock::ndat" ref="4c56f4c31481d8f11df96461353f3b99" args="() const " --> virtual int </td><td class="memItemRight" valign="bottom"><b>ndat</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21e05d063c6d3aab8c350fc3f13d6661"></a><!-- doxytag: member="sc::SCMatrixBlock::process" ref="21e05d063c6d3aab8c350fc3f13d6661" args="(SCElementOp *)=0" --> virtual void </td><td class="memItemRight" valign="bottom"><b>process</b> (<a class="el" href="classsc_1_1SCElementOp.html">SCElementOp</a> *)=0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e27116382551a5e1afa62d68e1506e17"></a><!-- doxytag: member="sc::SCMatrixBlock::process" ref="e27116382551a5e1afa62d68e1506e17" args="(SCElementOp2 *, SCMatrixBlock *)=0" --> virtual void </td><td class="memItemRight" valign="bottom"><b>process</b> (<a class="el" href="classsc_1_1SCElementOp2.html">SCElementOp2</a> *, <a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> *)=0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc2c3d8a506f15edaeb740a37190b1c6"></a><!-- doxytag: member="sc::SCMatrixBlock::process" ref="bc2c3d8a506f15edaeb740a37190b1c6" args="(SCElementOp3 *, SCMatrixBlock *, SCMatrixBlock *)=0" --> virtual void </td><td class="memItemRight" valign="bottom"><b>process</b> (<a class="el" href="classsc_1_1SCElementOp3.html">SCElementOp3</a> *, <a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> *, <a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> *)=0</td></tr> <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3946005ad82870abe5de7d8c0a502324"></a><!-- doxytag: member="sc::SCMatrixBlock::blocki" ref="3946005ad82870abe5de7d8c0a502324" args="" --> int </td><td class="memItemRight" valign="bottom"><b>blocki</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ce781b91fae3e3eed86f67de2fcf1f8"></a><!-- doxytag: member="sc::SCMatrixBlock::blockj" ref="0ce781b91fae3e3eed86f67de2fcf1f8" args="" --> int </td><td class="memItemRight" valign="bottom"><b>blockj</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <a class="el" href="classsc_1_1SCMatrixBlock.html" title="SCMatrixBlock is the base clase for all types of blocks that comprise matrices and...">SCMatrixBlock</a> is the base clase for all types of blocks that comprise matrices and vectors. <p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="c6601cf7d328c55a7302084dd07bcb79"></a><!-- doxytag: member="sc::SCMatrixBlock::dat" ref="c6601cf7d328c55a7302084dd07bcb79" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual double* sc::SCMatrixBlock::dat </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return a pointer to the block's data and the number of elements in the block. <p> Some blocks cannot provide this information and a runtime error will be generated if these members are called. These routines are only used internally in the matrix library. <p>Reimplemented in <a class="el" href="classsc_1_1SCVectorSimpleBlock.html#22904ee3a590becaac1377ce8210723e">sc::SCVectorSimpleBlock</a>, <a class="el" href="classsc_1_1SCMatrixRectBlock.html#dd1c1d5a269ba49709975b8d3f075242">sc::SCMatrixRectBlock</a>, <a class="el" href="classsc_1_1SCMatrixLTriBlock.html#82c2848b9551e4ce9775708a22c4a6c7">sc::SCMatrixLTriBlock</a>, and <a class="el" href="classsc_1_1SCMatrixDiagBlock.html#34618ad347864f23c8f3da763afced3c">sc::SCMatrixDiagBlock</a>.</p> </div> </div><p> <a class="anchor" name="2aec95478d8f748d21682f1a234897a0"></a><!-- doxytag: member="sc::SCMatrixBlock::deepcopy" ref="2aec95478d8f748d21682f1a234897a0" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a>* sc::SCMatrixBlock::deepcopy </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return of copy of this. <p> A runtime error will be generated for blocks that cannot do a deepcopy. These routines are only used internally in the matrix library. <p>Reimplemented in <a class="el" href="classsc_1_1SCVectorSimpleBlock.html#104284da4b72ff2a48e99f96013b2341">sc::SCVectorSimpleBlock</a>, <a class="el" href="classsc_1_1SCMatrixRectBlock.html#272a18ddf9d51bda8fa493374b197b60">sc::SCMatrixRectBlock</a>, <a class="el" href="classsc_1_1SCMatrixLTriBlock.html#d8cb47dc684787b525b08b3e5c03f4d0">sc::SCMatrixLTriBlock</a>, and <a class="el" href="classsc_1_1SCMatrixDiagBlock.html#8593147bdfa036e7b3ca89df0f460c9d">sc::SCMatrixDiagBlock</a>.</p> </div> </div><p> <a class="anchor" name="ffdd5a3bf3b700083a02c2c4a95395ac"></a><!-- doxytag: member="sc::SCMatrixBlock::save_data_state" ref="ffdd5a3bf3b700083a02c2c4a95395ac" args="(StateOut &s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::SCMatrixBlock::save_data_state </td> <td>(</td> <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> & </td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. <p> This must be implemented by the derived class if the class has data. <p>Reimplemented from <a class="el" href="classsc_1_1SavableState.html#f9e0c212322d3c0f43e2dcb33e111acf">sc::SavableState</a>.</p> <p>Reimplemented in <a class="el" href="classsc_1_1SCVectorSimpleBlock.html#24c3b2a00a108b7324676ae42e56b26d">sc::SCVectorSimpleBlock</a>, <a class="el" href="classsc_1_1SCVectorSimpleSubBlock.html#657c3d2cc57fa503e8fae6b59a74ffd3">sc::SCVectorSimpleSubBlock</a>, <a class="el" href="classsc_1_1SCMatrixRectBlock.html#5cce1df18c2a42099c67f75ff8c0bac2">sc::SCMatrixRectBlock</a>, <a class="el" href="classsc_1_1SCMatrixRectSubBlock.html#7c9b30a2b6ec6bf2283dd7ffe45163a2">sc::SCMatrixRectSubBlock</a>, <a class="el" href="classsc_1_1SCMatrixLTriBlock.html#032f2ed7f6999dab26fd09ed3ef8bc2e">sc::SCMatrixLTriBlock</a>, <a class="el" href="classsc_1_1SCMatrixLTriSubBlock.html#54c2fdc0647921ec5fa5605d0df42600">sc::SCMatrixLTriSubBlock</a>, <a class="el" href="classsc_1_1SCMatrixDiagBlock.html#45f9834faaba6754a575c0be15cfa493">sc::SCMatrixDiagBlock</a>, and <a class="el" href="classsc_1_1SCMatrixDiagSubBlock.html#ee19414dc37ec7c9252e7e1f63871cbe">sc::SCMatrixDiagSubBlock</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="block_8h_source.html">block.h</a></ul> </div> <hr> <address> <small> Generated at Wed Oct 14 14:12:16 2009 for <a href="http://www.mpqc.org">MPQC</a> 2.3.1 using the documentation package <a href="http://www.doxygen.org">Doxygen</a> 1.5.9. </small> </address> </body> </html>