⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 concepts.hpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 HPP
📖 第 1 页 / 共 5 页
字号:
            typedef matrix_vector_slice<matrix<T> > container_model;            function_requires< Mutable_VectorExpressionConcept<container_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<container_model::const_iterator> >();            function_requires< Mutable_IndexedRandomAccess1DIteratorConcept<container_model::iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<container_model::const_reverse_iterator> >();            function_requires< Mutable_IndexedRandomAccess1DIteratorConcept<container_model::reverse_iterator> >();        }        {            typedef matrix_vector_indirect<matrix<T> > container_model;            function_requires< Mutable_VectorExpressionConcept<container_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<container_model::const_iterator> >();            function_requires< Mutable_IndexedRandomAccess1DIteratorConcept<container_model::iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<container_model::const_reverse_iterator> >();            function_requires< Mutable_IndexedRandomAccess1DIteratorConcept<container_model::reverse_iterator> >();        }        {            typedef matrix_range<matrix<T> > container_model;            function_requires< Mutable_MatrixExpressionConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef matrix_slice<matrix<T> > container_model;            function_requires< Mutable_MatrixExpressionConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef matrix_indirect<matrix<T> > container_model;            function_requires< Mutable_MatrixExpressionConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }#endif        // Banded Matrix#if defined (INTERNAL_SPECIAL) || defined (INTERNAL_BANDED)        {            typedef banded_matrix<T> container_model;            function_requires< Mutable_MatrixConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef banded_adaptor<matrix<T> > container_model;            function_requires< Mutable_MatrixExpressionConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }#endif        // Triangular Matrix#if defined (INTERNAL_SPECIAL) || defined (INTERNAL_TRIANGULAR)        {            typedef triangular_matrix<T> container_model;            function_requires< Mutable_MatrixConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef triangular_adaptor<matrix<T> > container_model;            function_requires< Mutable_MatrixExpressionConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }#endif        // Symmetric Matrix#if defined (INTERNA_SPECIAL) || defined (INTERNAL_SYMMETRIC)        {            typedef symmetric_matrix<T> container_model;            function_requires< Mutable_MatrixConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef banded_adaptor<matrix<T> > container_model;#ifndef SKIP_BAD           // const_iterator (iterator) constructor is bad            function_requires< Mutable_MatrixExpressionConcept<container_model> >();#endif            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }#endif        // Hermitian Matrix#if defined (INTERNAL_SPECIAL) || defined (INTERNAL_HERMITIAN)        {            typedef hermitian_matrix<T> container_model;            function_requires< Mutable_MatrixConcept<container_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }                {            typedef hermitian_adaptor<matrix<T> > container_model;#ifndef SKIP_BAD           // const_iterator (iterator) constructor is bad            function_requires< Mutable_MatrixExpressionConcept<container_model> >();#endif            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }#endif        // Sparse Matrix#if defined (INTERNAL_SPARSE) || defined (INTERNAL_MATRIX_SPARSE)        {            typedef mapped_matrix<T> container_model;            function_requires< Mutable_SparseMatrixConcept<container_model> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef mapped_vector_of_mapped_vector<T> container_model;            function_requires< Mutable_SparseMatrixConcept<container_model> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef compressed_matrix<T> container_model;            function_requires< Mutable_SparseMatrixConcept<container_model> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef coordinate_matrix<T> container_model;            function_requires< Mutable_SparseMatrixConcept<container_model> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }        {            typedef generalized_vector_of_vector<T, row_major, vector< coordinate_vector<T> > > container_model;            function_requires< Mutable_SparseMatrixConcept<container_model> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_iterator1, container_model::const_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::iterator1, container_model::iterator2> >();            function_requires< IndexedBidirectional2DIteratorConcept<container_model::const_reverse_iterator1, container_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedBidirectional2DIteratorConcept<container_model::reverse_iterator1, container_model::reverse_iterator2> >();        }#endif        // Scalar Expressions#if defined (INTERNAL_EXPRESSION) || defined (INTERNAL_VECTOR_EXPRESSION)        function_requires< ScalarExpressionConcept<scalar_value<T> > >();        function_requires< ScalarExpressionConcept<scalar_reference<T> > >();        // Vector Expressions        {            typedef vector_reference<vector<T> > expression_model;            function_requires< VectorExpressionConcept<expression_model> >();            function_requires< Mutable_VectorExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();            function_requires< Mutable_IndexedRandomAccess1DIteratorConcept<expression_model::iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();            function_requires< Mutable_IndexedRandomAccess1DIteratorConcept<expression_model::reverse_iterator> >();        }        {            typedef vector_unary<vector<T>, scalar_identity<T> > expression_model;            function_requires< VectorExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();        }        {            typedef vector_binary<vector<T>, vector<T>, scalar_plus<T, T> > expression_model;            function_requires< VectorExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();        }        {            typedef vector_binary_scalar1<T, vector<T>, scalar_multiplies<T, T> > expression_model;            function_requires< VectorExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();        }        {            typedef vector_binary_scalar2<vector<T>, scalar_value<T>, scalar_multiplies<T, T> > expression_model;            function_requires< VectorExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();        }        {            typedef vector_binary_scalar1<scalar_value<T>, vector<T>, scalar_multiplies<T, T> > expression_model;            function_requires< VectorExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();        }        {            typedef vector_binary_scalar2<vector<T>, scalar_value<T>, scalar_multiplies<T, T> > expression_model;            function_requires< VectorExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();            function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();        }        function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_sum<T> > > >();        function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_1<T> > > >();        function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_2<T> > > >();        function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_inf<T> > > >();        function_requires< ScalarExpressionConcept<vector_scalar_binary<vector<T>, vector<T>, vector_inner_prod<T, T, T> > > >();#endif        // Matrix Expressions#if defined (INTERNAL_EXPRESSION) || defined (INTERNAL_MATRIX_EXPRESSION)        {            typedef matrix_reference<matrix<T> > expression_model;            function_requires< MatrixExpressionConcept<expression_model> >();            function_requires< Mutable_MatrixExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_iterator1, expression_model::const_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<expression_model::iterator1, expression_model::iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_reverse_iterator1, expression_model::const_reverse_iterator2> >();            function_requires< Mutable_IndexedRandomAccess2DIteratorConcept<expression_model::reverse_iterator1, expression_model::reverse_iterator2> >();        }        {            typedef vector_matrix_binary<vector<T>, vector<T>, scalar_multiplies<T, T> > expression_model;            function_requires< MatrixExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_iterator1, expression_model::const_iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_reverse_iterator1, expression_model::const_reverse_iterator2> >();        }        {            typedef matrix_unary1<matrix<T>, scalar_identity<T> > expression_model;            function_requires< MatrixExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_iterator1, expression_model::const_iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_reverse_iterator1, expression_model::const_reverse_iterator2> >();        }        {            typedef matrix_unary2<matrix<T>, scalar_identity<T> > expression_model;            function_requires< MatrixExpressionConcept<expression_model> >();            function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_iterator1, expression_model::const_iterator2> >();            function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_reverse_iterator1, expression_model::const_reverse_iterator2> >();        }        {            typedef matrix_binary<matrix<T>, matrix<T>, scalar_plus<T, T> > ex

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -