diff -r 000000000000 -r bde4ae8d615e os/ossrv/ossrv_pub/boost_apis/boost/numeric/ublas/fwd.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/numeric/ublas/fwd.hpp Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,216 @@ +// +// 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 + +#include + +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 {}; + + struct vector_tag {}; + template + class vector_expression; + template + class vector_container; + + template + class vector_reference; + + struct matrix_tag {}; + + template + class matrix_expression; + template + class matrix_container; + + 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_vector_range; + template + class matrix_vector_slice; + template > + class matrix_vector_indirect; + 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; + + // Sparse vectors + template > + class mapped_vector; + template, class TA = unbounded_array > + class compressed_vector; + template, class TA = unbounded_array > + class coordinate_vector; + + // Matrix orientation type + struct unknown_orientation_tag {}; + struct row_major_tag {}; + struct column_major_tag {}; + + // Matrix storage layout parameterisation + template + struct basic_row_major; + typedef basic_row_major<> row_major; + + template + struct basic_column_major; + typedef basic_column_major<> 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; + + // Triangular matrix type + struct lower_tag {}; + struct upper_tag {}; + struct unit_lower_tag : public lower_tag {}; + struct unit_upper_tag : public upper_tag {}; + struct strict_lower_tag : public lower_tag {}; + struct strict_upper_tag : public upper_tag {}; + + // Triangular matrix parameterisation + template + struct basic_full; + typedef basic_full<> full; + + template + struct basic_lower; + typedef basic_lower<> lower; + + template + struct basic_upper; + typedef basic_upper<> upper; + + template + struct basic_unit_lower; + typedef basic_unit_lower<> unit_lower; + + template + struct basic_unit_upper; + typedef basic_unit_upper<> unit_upper; + + template + struct basic_strict_lower; + typedef basic_strict_lower<> strict_lower; + + template + struct basic_strict_upper; + typedef basic_strict_upper<> strict_upper; + + // Special matrices + template > + class banded_matrix; + template > + class diagonal_matrix; + + template > + class triangular_matrix; + template + class triangular_adaptor; + + template > + class symmetric_matrix; + template + class symmetric_adaptor; + + template > + class hermitian_matrix; + template + class hermitian_adaptor; + + // Sparse matrices + template > + class mapped_matrix; + template > > + class mapped_vector_of_mapped_vector; + template, class TA = unbounded_array > + class compressed_matrix; + template, class TA = unbounded_array > + class coordinate_matrix; + +}}} + +#endif