// // Copyright (c) 2000-2002 // Joerg Walter, Mathias Koch // // Permission to use, copy, modify, distribute and sell this software // and its documentation for any purpose is hereby granted without fee, // provided that the above copyright notice appear in all copies and // that both that copyright notice and this permission notice appear // in supporting documentation. The authors make no representations // about the suitability of this software for any purpose. // It is provided "as is" without express or implied warranty. // // The authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // #ifndef BOOST_UBLAS_FWD_H #define BOOST_UBLAS_FWD_H namespace boost { namespace numeric { namespace ublas { // Storage types template > class unbounded_array; template > class bounded_array; template class basic_range; template class basic_slice; typedef basic_range<> range; typedef basic_slice<> slice; template > class indirect_array; template > > class map_std; template > > class map_array; // Expression types struct scalar_tag {}; template class vector_expression; struct vector_tag {}; template class vector_expression; template class vector_reference; struct matrix_tag {}; template class matrix_expression; template class matrix_reference; template class vector_range; template class vector_slice; template > class vector_indirect; template class matrix_row; template class matrix_column; template class matrix_range; template class matrix_slice; template > class matrix_indirect; template > class vector; template class bounded_vector; template class unit_vector; template class zero_vector; template class scalar_vector; template class c_vector; template > class sparse_vector; template, class TA = unbounded_array > class compressed_vector; template, class TA = unbounded_array > class coordinate_vector; struct unknown_orientation_tag {}; struct row_major_tag {}; struct row_major; struct column_major_tag {}; struct column_major; template > class matrix; template class bounded_matrix; template class identity_matrix; template class zero_matrix; template class scalar_matrix; template class c_matrix; template > > class vector_of_vector; template > class banded_matrix; template > class diagonal_matrix; struct lower_tag {}; struct lower; struct upper_tag {}; struct upper; struct unit_lower_tag: public lower_tag {}; struct unit_lower; struct unit_upper_tag: public upper_tag {}; struct unit_upper; template > class triangular_matrix; template class triangular_adaptor; template > class symmetric_matrix; template class symmetric_adaptor; template > class hermitian_matrix; template class hermitian_adaptor; template > class sparse_matrix; template > > class sparse_vector_of_sparse_vector; template, class TA = unbounded_array > class compressed_matrix; template, class TA = unbounded_array > class coordinate_matrix; // Evaluation tags struct concrete_tag {}; struct abstract_tag {}; }}} #endif