The DejaVU Framework -- hush 3.1

include: graphic-directx-game-17-Camera-Demo-Table.h /home/ae/www/media


- [up] [top] - index make include source logic grammar scripts html configure mx slides talks scenes reports projects
<body bgcolor="#FFFFFF" text="#000000">

//=============================================================================
// table.h by Frank Luna (C) 2004 All Rights Reserved.
//============================================================================= 

ifndef TABLE_H
define TABLE_H

include 
include 

template 
<h4 align=right text=red> Table</h4><hr>
  class Table
{
public:
        Table()
                : mRows(0), mCols(0)
        {
        }

        Table(int m, int n)
                : mRows(m), mCols(n), mMatrix(m*n)
        {
        }

        Table(int m, int n, const T& value)
                : mRows(m), mCols(n), mMatrix(m*n, value)
        {
        }

        // For non-const objects
        T& operator()(int i, int j)
        {
                return mMatrix[i*mCols+j];
        }

        // For const objects
        const T& operator()(int i, int j)const
        {
                return mMatrix[i*mCols+j];
        }

        // Add typename to let compiler know type and not static variable.
        typedef typename std::vector::iterator iter;
        typedef typename std::vector::const_iterator citer;

        // For non-const objects
        iter begin(){ return mMatrix.begin(); }
        iter end()        { return mMatrix.end();   }
        
        // For const objects
        citer begin() const { return mMatrix.begin(); }
        citer end() const { return mMatrix.end();   }

        int numRows() const        { return mRows;        }
        int numCols() const        { return mCols;        }

        void resize(int m, int n)
        {
                mRows = m;
                mCols = n;
                mMatrix.resize(m*n);
        }

        void resize(int m, int n, const T& value)
        {
                mRows = m;
                mCols = n;
                mMatrix.resize(m*n, value);
        }

private:
        int mRows;
        int mCols;
        std::vector mMatrix;
};
<hr>


endif // TABLE_H
<hr> <style type="text/css"> div.mainnavigate { margin: 20px 2px; /* background-color: #ffffff; */ border: 1px solid black; } </style> <div class=xnavigate> [] <black>readme</black> course(s) preface <black>I</black> 1 2 <black>II</black> 3 4 <black>III</black> 5 6 7 <black>IV</black> 8 9 10 <black>V</black> 11 12 afterthought(s) <black>appendix</black> reference(s) example(s) <black>resource(s)</black> _ </div> <hr>

(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author. </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script> </body> </html> <hr> <hr> <table cellpadding=10> <tr> <td> <address> Hush Online Technology </address> hush@cs.vu.nl <br>04/07/09 </td><td> </td> <td></td><td></td><td></td><td></td><td></td><td></td><td></td> <td> </td> </tr> </table>