An array based matrix class which size is defined at type specification or object instanciation. More...
#include <matrix.hpp>
Classes | |
class | const_iterator1 |
class | const_iterator2 |
class | iterator1 |
class | iterator2 |
Public Types | |
typedef std::size_t | size_type |
typedef std::ptrdiff_t | difference_type |
typedef T | value_type |
typedef const T & | const_reference |
typedef T & | reference |
typedef const T * | const_pointer |
typedef T * | pointer |
typedef const matrix_reference < const self_type > | const_closure_type |
typedef matrix_reference < self_type > | closure_type |
typedef c_vector< T, N *M > | vector_temporary_type |
typedef self_type | matrix_temporary_type |
typedef dense_tag | storage_category |
typedef row_major_tag | 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 |
typedef c_matrix< T, N, M > | container_type |
typedef matrix_tag | type_category |
typedef E | expression_type |
Public Member Functions | |
BOOST_UBLAS_INLINE | c_matrix () |
BOOST_UBLAS_INLINE | c_matrix (size_type size1, size_type size2) |
BOOST_UBLAS_INLINE | c_matrix (const c_matrix &m) |
template<class AE > | |
BOOST_UBLAS_INLINE | c_matrix (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE size_type | size1 () const |
BOOST_UBLAS_INLINE size_type | size2 () const |
BOOST_UBLAS_INLINE const_pointer | data () const |
BOOST_UBLAS_INLINE pointer | 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) |
BOOST_UBLAS_INLINE void | clear () |
BOOST_UBLAS_INLINE c_matrix & | operator= (const c_matrix &m) |
template<class C > | |
BOOST_UBLAS_INLINE c_matrix & | operator= (const matrix_container< C > &m) |
BOOST_UBLAS_INLINE c_matrix & | assign_temporary (c_matrix &m) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | operator= (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | assign (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | operator+= (const matrix_expression< AE > &ae) |
template<class C > | |
BOOST_UBLAS_INLINE c_matrix & | operator+= (const matrix_container< C > &m) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | plus_assign (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | operator-= (const matrix_expression< AE > &ae) |
template<class C > | |
BOOST_UBLAS_INLINE c_matrix & | operator-= (const matrix_container< C > &m) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | minus_assign (const matrix_expression< AE > &ae) |
template<class AT > | |
BOOST_UBLAS_INLINE c_matrix & | operator*= (const AT &at) |
template<class AT > | |
BOOST_UBLAS_INLINE c_matrix & | operator/= (const AT &at) |
BOOST_UBLAS_INLINE void | swap (c_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 | cbegin1 () const |
BOOST_UBLAS_INLINE const_iterator1 | end1 () const |
BOOST_UBLAS_INLINE const_iterator1 | cend1 () const |
BOOST_UBLAS_INLINE iterator1 | begin1 () |
BOOST_UBLAS_INLINE iterator1 | end1 () |
BOOST_UBLAS_INLINE const_iterator2 | begin2 () const |
BOOST_UBLAS_INLINE const_iterator2 | cbegin2 () const |
BOOST_UBLAS_INLINE const_iterator2 | end2 () const |
BOOST_UBLAS_INLINE const_iterator2 | cend2 () 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 | crbegin1 () const |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rend1 () const |
BOOST_UBLAS_INLINE const_reverse_iterator1 | crend1 () 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 | crbegin2 () const |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rend2 () const |
BOOST_UBLAS_INLINE const_reverse_iterator2 | crend2 () const |
BOOST_UBLAS_INLINE reverse_iterator2 | rbegin2 () |
BOOST_UBLAS_INLINE reverse_iterator2 | rend2 () |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int) |
BOOST_UBLAS_INLINE const container_type & | operator() () const |
BOOST_UBLAS_INLINE container_type & | operator() () |
Static Public Attributes | |
static const unsigned | complexity |
Friends | |
BOOST_UBLAS_INLINE friend void | swap (c_matrix &m1, c_matrix &m2) |
An array based matrix class which size is defined at type specification or object instanciation.
This matrix is directly based on a predefined C-style arry of data, thus providing the fastest implementation possible. The constraint is that dimensions of the matrix must be specified at the instanciation or the type specification.
For instance,
defines a 4 by 4 double-precision matrix. You can also instantiate it directly with
. This will make a 8 by 5 integer matrix. The price to pay for this speed is that you cannot resize it to a size larger than the one defined in the template parameters. In the previous example, a size of 4 by 5 or 3 by 2 is acceptable, but a new size of 9 by 5 or even 10 by 10 will raise a bad_size() exception.
T | the type of object stored in the matrix (like double, float, complex, etc...) |
N | the default maximum number of rows |
M | the default maximum number of columns |
typedef matrix_reference<self_type> boost::numeric::ublas::c_matrix< T, N, M >::closure_type |
typedef const matrix_reference<const self_type> boost::numeric::ublas::c_matrix< T, N, M >::const_closure_type |
typedef const T* boost::numeric::ublas::c_matrix< T, N, M >::const_pointer |
typedef const T& boost::numeric::ublas::c_matrix< T, N, M >::const_reference |
typedef reverse_iterator_base1<const_iterator1> boost::numeric::ublas::c_matrix< T, N, M >::const_reverse_iterator1 |
typedef reverse_iterator_base2<const_iterator2> boost::numeric::ublas::c_matrix< T, N, M >::const_reverse_iterator2 |
|
inherited |
typedef std::ptrdiff_t boost::numeric::ublas::c_matrix< T, N, M >::difference_type |
|
inherited |
typedef self_type boost::numeric::ublas::c_matrix< T, N, M >::matrix_temporary_type |
typedef row_major_tag boost::numeric::ublas::c_matrix< T, N, M >::orientation_category |
typedef T* boost::numeric::ublas::c_matrix< T, N, M >::pointer |
typedef T& boost::numeric::ublas::c_matrix< T, N, M >::reference |
typedef reverse_iterator_base1<iterator1> boost::numeric::ublas::c_matrix< T, N, M >::reverse_iterator1 |
typedef reverse_iterator_base2<iterator2> boost::numeric::ublas::c_matrix< T, N, M >::reverse_iterator2 |
typedef std::size_t boost::numeric::ublas::c_matrix< T, N, M >::size_type |
typedef dense_tag boost::numeric::ublas::c_matrix< T, N, M >::storage_category |
|
inherited |
typedef T boost::numeric::ublas::c_matrix< T, N, M >::value_type |
typedef c_vector<T, N * M> boost::numeric::ublas::c_matrix< T, N, M >::vector_temporary_type |
|
inline |
|
inline |
References N, and boost::numeric::ublas::bad_size::raise().
|
inline |
References N, and boost::numeric::ublas::bad_size::raise().
|
inline |
|
inline |
References boost::numeric::ublas::c_matrix< T, N, M >::swap().
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::operator+=(), boost::numeric::ublas::c_matrix< T, N, M >::operator-=(), boost::numeric::ublas::c_matrix< T, N, M >::operator=(), and boost::numeric::ublas::c_matrix< T, N, M >::resize().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References std::fill(), and boost::multiprecision::backends::i.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::operator-=().
|
inlineinherited |
|
inlineinherited |
|
inline |
References BOOST_UBLAS_CHECK, and boost::multiprecision::backends::i.
|
inline |
References boost::xpressive::at.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References boost::xpressive::at.
|
inline |
References boost::filesystem::detail::copy(), and boost::multiprecision::backends::i.
|
inline |
|
inline |
|
inline |
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::operator+=().
|
inline |
References boost::numeric::ublas::c_matrix< T, N, M >::end1().
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::crbegin1().
|
inline |
|
inline |
References boost::numeric::ublas::c_matrix< T, N, M >::end2().
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::crbegin2().
|
inline |
|
inline |
References boost::numeric::ublas::c_matrix< T, N, M >::begin1().
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::crend1().
|
inline |
|
inline |
References boost::numeric::ublas::c_matrix< T, N, M >::begin2().
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::crend2().
|
inline |
|
inline |
References boost::numeric::ublas::c_matrix< T, N, M >::assign_temporary(), boost::multiprecision::backends::i, boost::accumulators::extract::min, N, boost::numeric::ublas::bad_size::raise(), boost::numeric::ublas::c_matrix< T, N, M >::size1(), and boost::numeric::ublas::c_matrix< T, N, M >::size2().
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::operator=().
|
inline |
|
inline |
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::const_iterator1::operator*(), boost::numeric::ublas::c_matrix< T, N, M >::iterator1::operator*(), boost::numeric::ublas::c_matrix< T, N, M >::const_iterator2::operator*(), boost::numeric::ublas::c_matrix< T, N, M >::iterator2::operator*(), boost::numeric::ublas::c_matrix< T, N, M >::operator=(), and boost::numeric::ublas::c_matrix< T, N, M >::resize().
|
inline |
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::const_iterator1::operator*(), boost::numeric::ublas::c_matrix< T, N, M >::iterator1::operator*(), boost::numeric::ublas::c_matrix< T, N, M >::const_iterator2::operator*(), boost::numeric::ublas::c_matrix< T, N, M >::iterator2::operator*(), boost::numeric::ublas::c_matrix< T, N, M >::operator=(), and boost::numeric::ublas::c_matrix< T, N, M >::resize().
|
inline |
References BOOST_UBLAS_CHECK, boost::multiprecision::backends::i, boost::swap, and boost::range::swap_ranges().
Referenced by boost::numeric::ublas::c_matrix< T, N, M >::assign_temporary().
|
friend |
|
staticinherited |