home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 13
/
mediashare_13.zip
/
mediashare_13
/
ZIPPED
/
PROGRAM
/
APR94_1.ZIP
/
GA.ZIP
/
SOURCE.ZIP
/
WMATRIX.H
< prev
Wrap
C/C++ Source or Header
|
1994-01-10
|
2KB
|
89 lines
//Copyright (C) Man Machine Interfaces 1994. All rights reserved.
//wmatrix.h
#ifndef __WMATRIX_H__
#define __WMATRIX_H__
class CWordMatrix
{
public:
//construct,destruct,copy,assign
CWordMatrix(int numRows, int numCols, WORD init=0) ;
CWordMatrix(const CWordMatrix &source) ;
~CWordMatrix() ;
CWordMatrix & operator =(const CWordMatrix &source) ;
//query
int GetNumRows() const ;
int GetNumCols() const ;
int GetNumCells() const ;
WORD GetAt(int row, int col) const ;
const CWordArray &GetRow(int row) const;
const CWordArray &operator [](int row) const ;
//modify
CWordArray &operator [](int row) ;
void SetAt(int row, int col, WORD val) ;
BOOL Find(WORD item, int &row, int &col) ;
private:
//facilitate matrix operator [] notation
class CArrayOfWordArray : public CObArray
{
friend CWordMatrix ;
CArrayOfWordArray() ;
const CWordArray & operator[] (int nIndex) const ;
CWordArray & operator[] (int nIndex) ;
};
int m_NumRows,
m_NumCols ;
CArrayOfWordArray m_Rows ;
};
// CArrayOfWordArray inlines
inline CWordMatrix::CArrayOfWordArray::CArrayOfWordArray()
{
}
inline const CWordArray & CWordMatrix::CArrayOfWordArray::operator[] (int nIndex) const
{
return *((CWordArray *) CObArray::GetAt(nIndex) ) ;
}
inline CWordArray & CWordMatrix::CArrayOfWordArray::operator[] (int nIndex)
{
return *((CWordArray *) CObArray::ElementAt(nIndex)) ;
}
//CWordMatrix inlines
inline int CWordMatrix::GetNumRows() const
{
return m_NumRows ;
}
inline int CWordMatrix::GetNumCols() const
{
return m_NumCols ;
}
inline int CWordMatrix::GetNumCells() const
{
return GetNumRows() * GetNumCols() ;
}
inline const CWordArray & CWordMatrix::operator [](int row) const
{
return GetRow(row) ;
}
#endif