Boost.uBlas 1.49
Linear Algebra in C++: matrices, vectors and numeric algorithms

boost::numeric::ublas::matrix_range< M > Class Template Reference

#include <matrix_proxy.hpp>

Inheritance diagram for boost::numeric::ublas::matrix_range< M >:
Collaboration diagram for boost::numeric::ublas::matrix_range< M >:

List of all members.

Classes

class  const_iterator1
class  const_iterator2
class  iterator1
class  iterator2

Public Types

typedef self_type closure_type
typedef const self_type const_closure_type
typedef M::const_reference const_reference
typedef reverse_iterator_base1
< const_iterator1
const_reverse_iterator1
typedef reverse_iterator_base2
< const_iterator2
const_reverse_iterator2
typedef M::difference_type difference_type
typedef matrix_range< M > expression_type
typedef boost::mpl::if_
< boost::is_const< M >
, typename
M::const_closure_type,
typename M::closure_type >
::type 
matrix_closure_type
typedef M matrix_type
typedef M::orientation_category orientation_category
typedef basic_range< size_type,
difference_type
range_type
typedef boost::mpl::if_
< boost::is_const< M >
, typename M::const_reference,
typename M::reference >::type 
reference
typedef reverse_iterator_base1
< iterator1
reverse_iterator1
typedef reverse_iterator_base2
< iterator2
reverse_iterator2
typedef M::size_type size_type
typedef
storage_restrict_traits
< typename M::storage_category,
dense_proxy_tag >
::storage_category 
storage_category
typedef matrix_tag type_category
typedef M::value_type value_type

Public Member Functions

BOOST_UBLAS_INLINE matrix_range (matrix_type &data, const range_type &r1, const range_type &r2)
BOOST_UBLAS_INLINE matrix_range (const matrix_closure_type &data, const range_type &r1, const range_type &r2, int)
template<class AE >
BOOST_UBLAS_INLINE matrix_rangeassign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE matrix_rangeassign_temporary (matrix_range &mr)
BOOST_UBLAS_INLINE const_iterator1 begin1 () const
BOOST_UBLAS_INLINE iterator1 begin1 ()
BOOST_UBLAS_INLINE const_iterator2 begin2 () const
BOOST_UBLAS_INLINE iterator2 begin2 ()
BOOST_UBLAS_INLINE
matrix_closure_type
data ()
BOOST_UBLAS_INLINE const
matrix_closure_type
data () const
BOOST_UBLAS_INLINE iterator1 end1 ()
BOOST_UBLAS_INLINE const_iterator1 end1 () const
BOOST_UBLAS_INLINE const_iterator2 end2 () const
BOOST_UBLAS_INLINE iterator2 end2 ()
BOOST_UBLAS_INLINE const_iterator1 find1 (int rank, size_type i, size_type j) const
BOOST_UBLAS_INLINE iterator1 find1 (int rank, size_type i, size_type j)
BOOST_UBLAS_INLINE const_iterator2 find2 (int rank, size_type i, size_type j) const
BOOST_UBLAS_INLINE iterator2 find2 (int rank, size_type i, size_type j)
template<class AE >
BOOST_UBLAS_INLINE matrix_rangeminus_assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE const_reference operator() (size_type i, size_type j) const
BOOST_UBLAS_INLINE reference operator() (size_type i, size_type j)
BOOST_UBLAS_INLINE const
expression_type
operator() () const
BOOST_UBLAS_INLINE
expression_type
operator() ()
template<class AT >
BOOST_UBLAS_INLINE matrix_rangeoperator*= (const AT &at)
template<class AE >
BOOST_UBLAS_INLINE matrix_rangeoperator+= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE matrix_rangeoperator-= (const matrix_expression< AE > &ae)
template<class AT >
BOOST_UBLAS_INLINE matrix_rangeoperator/= (const AT &at)
BOOST_UBLAS_INLINE matrix_rangeoperator= (const matrix_range &mr)
template<class AE >
BOOST_UBLAS_INLINE matrix_rangeoperator= (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE bool operator== (const matrix_range &mr) const
template<class AE >
BOOST_UBLAS_INLINE matrix_rangeplus_assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE
matrix_range< matrix_type
project (const range_type &r1, const range_type &r2) const
BOOST_UBLAS_INLINE
reverse_iterator1 
rbegin1 ()
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rbegin1 () const
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rbegin2 () const
BOOST_UBLAS_INLINE
reverse_iterator2 
rbegin2 ()
BOOST_UBLAS_INLINE
reverse_iterator1 
rend1 ()
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rend1 () const
BOOST_UBLAS_INLINE
reverse_iterator2 
rend2 ()
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rend2 () const
BOOST_UBLAS_INLINE bool same_closure (const matrix_range &mr) const
BOOST_UBLAS_INLINE size_type size1 () const
BOOST_UBLAS_INLINE size_type size2 () const
BOOST_UBLAS_INLINE size_type start1 () const
BOOST_UBLAS_INLINE size_type start2 () const
BOOST_UBLAS_INLINE void swap (matrix_range mr)

Static Public Attributes

static const unsigned complexity

Private Types

typedef M::const_iterator1 const_subiterator1_type
typedef M::const_iterator2 const_subiterator2_type
typedef matrix_range< M > self_type
typedef boost::mpl::if_
< boost::is_const< M >
, typename M::const_iterator1,
typename M::iterator1 >::type 
subiterator1_type
typedef boost::mpl::if_
< boost::is_const< M >
, typename M::const_iterator2,
typename M::iterator2 >::type 
subiterator2_type

Private Attributes

matrix_closure_type data_
range_type r1_
range_type r2_

Friends

BOOST_UBLAS_INLINE friend void swap (matrix_range mr1, matrix_range mr2)

Detailed Description

template<class M>
class boost::numeric::ublas::matrix_range< M >

Definition at line 2326 of file matrix_proxy.hpp.


Member Typedef Documentation

template<class M>
typedef matrix_range<M> boost::numeric::ublas::matrix_range< M >::self_type [private]
template<class M>
typedef M boost::numeric::ublas::matrix_range< M >::matrix_type

Definition at line 2334 of file matrix_proxy.hpp.

template<class M>
typedef M::size_type boost::numeric::ublas::matrix_range< M >::size_type

Definition at line 2335 of file matrix_proxy.hpp.

template<class M>
typedef M::difference_type boost::numeric::ublas::matrix_range< M >::difference_type

Definition at line 2336 of file matrix_proxy.hpp.

template<class M>
typedef M::value_type boost::numeric::ublas::matrix_range< M >::value_type

Definition at line 2337 of file matrix_proxy.hpp.

template<class M>
typedef M::const_reference boost::numeric::ublas::matrix_range< M >::const_reference

Definition at line 2338 of file matrix_proxy.hpp.

template<class M>
typedef boost::mpl::if_<boost::is_const<M>, typename M::const_reference, typename M::reference>::type boost::numeric::ublas::matrix_range< M >::reference

Definition at line 2341 of file matrix_proxy.hpp.

template<class M>
typedef boost::mpl::if_<boost::is_const<M>, typename M::const_closure_type, typename M::closure_type>::type boost::numeric::ublas::matrix_range< M >::matrix_closure_type

Definition at line 2344 of file matrix_proxy.hpp.

Definition at line 2345 of file matrix_proxy.hpp.

template<class M>
typedef const self_type boost::numeric::ublas::matrix_range< M >::const_closure_type

Definition at line 2346 of file matrix_proxy.hpp.

Definition at line 2347 of file matrix_proxy.hpp.

template<class M>
typedef storage_restrict_traits<typename M::storage_category, dense_proxy_tag>::storage_category boost::numeric::ublas::matrix_range< M >::storage_category

Definition at line 2349 of file matrix_proxy.hpp.

template<class M>
typedef M::orientation_category boost::numeric::ublas::matrix_range< M >::orientation_category

Definition at line 2350 of file matrix_proxy.hpp.

template<class M>
typedef M::const_iterator1 boost::numeric::ublas::matrix_range< M >::const_subiterator1_type [private]

Definition at line 2512 of file matrix_proxy.hpp.

template<class M>
typedef boost::mpl::if_<boost::is_const<M>, typename M::const_iterator1, typename M::iterator1>::type boost::numeric::ublas::matrix_range< M >::subiterator1_type [private]

Definition at line 2515 of file matrix_proxy.hpp.

template<class M>
typedef M::const_iterator2 boost::numeric::ublas::matrix_range< M >::const_subiterator2_type [private]

Definition at line 2516 of file matrix_proxy.hpp.

template<class M>
typedef boost::mpl::if_<boost::is_const<M>, typename M::const_iterator2, typename M::iterator2>::type boost::numeric::ublas::matrix_range< M >::subiterator2_type [private]

Definition at line 2519 of file matrix_proxy.hpp.


Constructor & Destructor Documentation

template<class M>
BOOST_UBLAS_INLINE boost::numeric::ublas::matrix_range< M >::matrix_range ( matrix_type data,
const range_type r1,
const range_type r2 
) [inline]

Definition at line 2354 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE boost::numeric::ublas::matrix_range< M >::matrix_range ( const matrix_closure_type data,
const range_type r1,
const range_type r2,
int   
) [inline]

Definition at line 2363 of file matrix_proxy.hpp.


Member Function Documentation

template<class M>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::matrix_range< M >::start1 ( ) const [inline]

Definition at line 2374 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::matrix_range< M >::size1 ( ) const [inline]

Definition at line 2378 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::matrix_range< M >::start2 ( ) const [inline]

Definition at line 2382 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::matrix_range< M >::size2 ( ) const [inline]

Definition at line 2386 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const matrix_closure_type& boost::numeric::ublas::matrix_range< M >::data ( ) const [inline]

Definition at line 2392 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE matrix_closure_type& boost::numeric::ublas::matrix_range< M >::data ( ) [inline]

Definition at line 2396 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reference boost::numeric::ublas::matrix_range< M >::operator() ( size_type  i,
size_type  j 
) const [inline]

Definition at line 2403 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE reference boost::numeric::ublas::matrix_range< M >::operator() ( size_type  i,
size_type  j 
) [inline]

Definition at line 2407 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE matrix_range<matrix_type> boost::numeric::ublas::matrix_range< M >::project ( const range_type r1,
const range_type r2 
) const [inline]

Definition at line 2421 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::operator= ( const matrix_range< M > &  mr) [inline]

Definition at line 2427 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::assign_temporary ( matrix_range< M > &  mr) [inline]

Definition at line 2432 of file matrix_proxy.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::operator= ( const matrix_expression< AE > &  ae) [inline]

Definition at line 2437 of file matrix_proxy.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::assign ( const matrix_expression< AE > &  ae) [inline]

Definition at line 2443 of file matrix_proxy.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::operator+= ( const matrix_expression< AE > &  ae) [inline]

Definition at line 2449 of file matrix_proxy.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::plus_assign ( const matrix_expression< AE > &  ae) [inline]

Definition at line 2455 of file matrix_proxy.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::operator-= ( const matrix_expression< AE > &  ae) [inline]

Definition at line 2461 of file matrix_proxy.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::minus_assign ( const matrix_expression< AE > &  ae) [inline]

Definition at line 2467 of file matrix_proxy.hpp.

template<class M>
template<class AT >
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::operator*= ( const AT &  at) [inline]

Definition at line 2473 of file matrix_proxy.hpp.

template<class M>
template<class AT >
BOOST_UBLAS_INLINE matrix_range& boost::numeric::ublas::matrix_range< M >::operator/= ( const AT &  at) [inline]

Definition at line 2479 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE bool boost::numeric::ublas::matrix_range< M >::same_closure ( const matrix_range< M > &  mr) const [inline]

Definition at line 2486 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE bool boost::numeric::ublas::matrix_range< M >::operator== ( const matrix_range< M > &  mr) const [inline]

Definition at line 2492 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE void boost::numeric::ublas::matrix_range< M >::swap ( matrix_range< M >  mr) [inline]

Definition at line 2498 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::matrix_range< M >::find1 ( int  rank,
size_type  i,
size_type  j 
) const [inline]

Definition at line 2544 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::matrix_range< M >::find1 ( int  rank,
size_type  i,
size_type  j 
) [inline]

Definition at line 2553 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::matrix_range< M >::find2 ( int  rank,
size_type  i,
size_type  j 
) const [inline]

Definition at line 2562 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::matrix_range< M >::find2 ( int  rank,
size_type  i,
size_type  j 
) [inline]

Definition at line 2571 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::matrix_range< M >::begin1 ( ) const [inline]

Definition at line 2711 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::matrix_range< M >::end1 ( ) const [inline]

Definition at line 2715 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::matrix_range< M >::begin1 ( ) [inline]

Definition at line 2848 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::matrix_range< M >::end1 ( ) [inline]

Definition at line 2852 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::matrix_range< M >::begin2 ( ) const [inline]

Definition at line 2986 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::matrix_range< M >::end2 ( ) const [inline]

Definition at line 2990 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::matrix_range< M >::begin2 ( ) [inline]

Definition at line 3123 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::matrix_range< M >::end2 ( ) [inline]

Definition at line 3127 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::matrix_range< M >::rbegin1 ( ) const [inline]

Definition at line 3134 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::matrix_range< M >::rend1 ( ) const [inline]

Definition at line 3138 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::matrix_range< M >::rbegin1 ( ) [inline]

Definition at line 3143 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::matrix_range< M >::rend1 ( ) [inline]

Definition at line 3147 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::matrix_range< M >::rbegin2 ( ) const [inline]

Definition at line 3152 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::matrix_range< M >::rend2 ( ) const [inline]

Definition at line 3156 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::matrix_range< M >::rbegin2 ( ) [inline]

Definition at line 3161 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::matrix_range< M >::rend2 ( ) [inline]

Definition at line 3165 of file matrix_proxy.hpp.

BOOST_UBLAS_INLINE const expression_type& boost::numeric::ublas::matrix_expression< matrix_range< M > >::operator() ( ) const [inline, inherited]

Definition at line 320 of file expression_types.hpp.

BOOST_UBLAS_INLINE expression_type& boost::numeric::ublas::matrix_expression< matrix_range< M > >::operator() ( ) [inline, inherited]

Definition at line 324 of file expression_types.hpp.


Friends And Related Function Documentation

template<class M>
BOOST_UBLAS_INLINE friend void swap ( matrix_range< M >  mr1,
matrix_range< M >  mr2 
) [friend]

Definition at line 2506 of file matrix_proxy.hpp.


Member Data Documentation

Definition at line 3170 of file matrix_proxy.hpp.

template<class M>
range_type boost::numeric::ublas::matrix_range< M >::r1_ [private]

Definition at line 3171 of file matrix_proxy.hpp.

template<class M>
range_type boost::numeric::ublas::matrix_range< M >::r2_ [private]

Definition at line 3172 of file matrix_proxy.hpp.

const unsigned boost::numeric::ublas::matrix_expression< matrix_range< M > >::complexity [static, inherited]

Definition at line 312 of file expression_types.hpp.


The documentation for this class was generated from the following file: