2 full-storage.hh -- declare Full_storage
4 source file of the Flower Library
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
10 #ifndef FULL_STORAGE_HH
11 #define FULL_STORAGE_HH
14 #include "matrix-storage.hh"
17 /// simplest matrix storage. refer to its baseclass for the doco.
18 class Full_storage : public Matrix_storage
21 int height_i_,width_i_;
23 int max_height_i_, max_width_i_;
31 bool valid(int i, int j) const ;
33 void resize_rows(int);
34 void resize_cols(int);
37 virtual int rows() const;
38 virtual int cols() const ;
41 virtual void resize(int i, int j);
42 virtual void resize(int i);
43 virtual Real& elem(int i,int j);
44 virtual Real elem(int i, int j)const ;
46 Full_storage(Matrix_storage*);
48 Full_storage(int i, int j);
49 Full_storage(Full_storage const&);
52 void operator=(Full_storage const &);
54 virtual void insert_row(int k);
55 virtual void delete_row(int k);
56 virtual void delete_column(int k);
59 virtual bool mult_ok(int i, int j)const;
60 virtual void mult_next(int &i, int &j) const ;
61 virtual bool trans_ok(int i, int j) const;
62 virtual void trans_next(int &i, int &j) const;
63 DECLARE_VIRTUAL_COPY_CONS(Full_storage,Matrix_storage);
64 DECLARE_MY_RUNTIME_TYPEINFO;
65 virtual bool try_right_multiply(Matrix_storage * dest, Matrix_storage const * )const;
68 #endif // FULL_STORAGE_HH