...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A dense matrix of values of type T
.
More...
Inherits matrix_container< matrix< T, L, A > >.
Classes | |
class | const_iterator1 |
class | const_iterator2 |
class | iterator1 |
class | iterator2 |
Public Types | |
typedef A::size_type | size_type |
typedef A::difference_type | difference_type |
typedef T | value_type |
typedef const T & | const_reference |
typedef T & | reference |
typedef A | array_type |
typedef const matrix_reference < const self_type > | const_closure_type |
typedef matrix_reference < self_type > | closure_type |
typedef vector< T, A > | vector_temporary_type |
typedef self_type | matrix_temporary_type |
typedef dense_tag | storage_category |
typedef L::orientation_category | orientation_category |
typedef reverse_iterator_base1 < const_iterator1 > | const_reverse_iterator1 |
typedef reverse_iterator_base1 < iterator1 > | reverse_iterator1 |
typedef reverse_iterator_base2 < const_iterator2 > | const_reverse_iterator2 |
typedef reverse_iterator_base2 < iterator2 > | reverse_iterator2 |
Public Member Functions | |
BOOST_UBLAS_INLINE | matrix (size_type size1, size_type size2) |
matrix (size_type size1, size_type size2, const value_type &init) | |
BOOST_UBLAS_INLINE | matrix (size_type size1, size_type size2, const array_type &data) |
BOOST_UBLAS_INLINE | matrix (const matrix &m) |
template<class AE > | |
BOOST_UBLAS_INLINE | matrix (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE size_type | size1 () const |
BOOST_UBLAS_INLINE size_type | size2 () const |
BOOST_UBLAS_INLINE const array_type & | data () const |
BOOST_UBLAS_INLINE array_type & | data () |
BOOST_UBLAS_INLINE void | resize (size_type size1, size_type size2, bool preserve=true) |
BOOST_UBLAS_INLINE const_reference | operator() (size_type i, size_type j) const |
BOOST_UBLAS_INLINE reference | at_element (size_type i, size_type j) |
BOOST_UBLAS_INLINE reference | operator() (size_type i, size_type j) |
BOOST_UBLAS_INLINE reference | insert_element (size_type i, size_type j, const_reference t) |
void | erase_element (size_type i, size_type j) |
BOOST_UBLAS_INLINE void | clear () |
BOOST_UBLAS_INLINE matrix & | operator= (const matrix &m) |
template<class C > | |
BOOST_UBLAS_INLINE matrix & | operator= (const matrix_container< C > &m) |
BOOST_UBLAS_INLINE matrix & | assign_temporary (matrix &m) |
template<class AE > | |
BOOST_UBLAS_INLINE matrix & | operator= (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE matrix & | assign (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE matrix & | operator+= (const matrix_expression< AE > &ae) |
template<class C > | |
BOOST_UBLAS_INLINE matrix & | operator+= (const matrix_container< C > &m) |
template<class AE > | |
BOOST_UBLAS_INLINE matrix & | plus_assign (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE matrix & | operator-= (const matrix_expression< AE > &ae) |
template<class C > | |
BOOST_UBLAS_INLINE matrix & | operator-= (const matrix_container< C > &m) |
template<class AE > | |
BOOST_UBLAS_INLINE matrix & | minus_assign (const matrix_expression< AE > &ae) |
template<class AT > | |
BOOST_UBLAS_INLINE matrix & | operator*= (const AT &at) |
template<class AT > | |
BOOST_UBLAS_INLINE matrix & | operator/= (const AT &at) |
BOOST_UBLAS_INLINE void | swap (matrix &m) |
BOOST_UBLAS_INLINE const_iterator1 | find1 (int, size_type i, size_type j) const |
BOOST_UBLAS_INLINE iterator1 | find1 (int, size_type i, size_type j) |
BOOST_UBLAS_INLINE const_iterator2 | find2 (int, size_type i, size_type j) const |
BOOST_UBLAS_INLINE iterator2 | find2 (int, size_type i, size_type j) |
BOOST_UBLAS_INLINE const_iterator1 | begin1 () const |
BOOST_UBLAS_INLINE const_iterator1 | end1 () const |
BOOST_UBLAS_INLINE iterator1 | begin1 () |
BOOST_UBLAS_INLINE iterator1 | end1 () |
BOOST_UBLAS_INLINE const_iterator2 | begin2 () const |
BOOST_UBLAS_INLINE const_iterator2 | end2 () const |
BOOST_UBLAS_INLINE iterator2 | begin2 () |
BOOST_UBLAS_INLINE iterator2 | end2 () |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rbegin1 () const |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rend1 () const |
BOOST_UBLAS_INLINE reverse_iterator1 | rbegin1 () |
BOOST_UBLAS_INLINE reverse_iterator1 | rend1 () |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rbegin2 () const |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rend2 () const |
BOOST_UBLAS_INLINE reverse_iterator2 | rbegin2 () |
BOOST_UBLAS_INLINE reverse_iterator2 | rend2 () |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int) |
Friends | |
BOOST_UBLAS_INLINE friend void | swap (matrix &m1, matrix &m2) |
For a -dimensional matrix and , every element is mapped to the -th element of the container for row major orientation or the -th element of the container for column major orientation. In a dense matrix all elements are represented in memory in a contiguous chunk of memory by definition.
Orientation and storage can also be specified, otherwise a row_major
and unbounded_array
are used. It is not required by the storage to initialize elements of the matrix.
T | the type of object stored in the matrix (like double, float, complex, etc...) | |
L | the storage organization. It can be either row_major or column_major . Default is row_major | |
A | the type of Storage array. Default is unbounded_array |