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

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

#include <matrix_proxy.hpp>

Inheritance diagram for boost::numeric::ublas::matrix_slice< M >:
Collaboration diagram for boost::numeric::ublas::matrix_slice< 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_slice< 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 basic_slice< size_type,
difference_type
slice_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_slice (matrix_type &data, const slice_type &s1, const slice_type &s2)
BOOST_UBLAS_INLINE matrix_slice (const matrix_closure_type &data, const slice_type &s1, const slice_type &s2, int)
template<class AE >
BOOST_UBLAS_INLINE matrix_sliceassign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE matrix_sliceassign_temporary (matrix_slice &ms)
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 const
matrix_closure_type
data () const
BOOST_UBLAS_INLINE
matrix_closure_type
data ()
BOOST_UBLAS_INLINE const_iterator1 end1 () const
BOOST_UBLAS_INLINE iterator1 end1 ()
BOOST_UBLAS_INLINE const_iterator2 end2 () const
BOOST_UBLAS_INLINE iterator2 end2 ()
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)
template<class AE >
BOOST_UBLAS_INLINE matrix_sliceminus_assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE const_reference operator() (size_type i, size_type j) const
BOOST_UBLAS_INLINE const
expression_type
operator() () const
BOOST_UBLAS_INLINE
expression_type
operator() ()
BOOST_UBLAS_INLINE reference operator() (size_type i, size_type j)
template<class AT >
BOOST_UBLAS_INLINE matrix_sliceoperator*= (const AT &at)
template<class AE >
BOOST_UBLAS_INLINE matrix_sliceoperator+= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE matrix_sliceoperator-= (const matrix_expression< AE > &ae)
template<class AT >
BOOST_UBLAS_INLINE matrix_sliceoperator/= (const AT &at)
template<class AE >
BOOST_UBLAS_INLINE matrix_sliceoperator= (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE matrix_sliceoperator= (const matrix_slice &ms)
BOOST_UBLAS_INLINE bool operator== (const matrix_slice &ms) const
template<class AE >
BOOST_UBLAS_INLINE matrix_sliceplus_assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE
matrix_slice< matrix_type
project (const range_type &r1, const range_type &r2) const
BOOST_UBLAS_INLINE
matrix_slice< matrix_type
project (const slice_type &s1, const slice_type &s2) const
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rbegin1 () const
BOOST_UBLAS_INLINE
reverse_iterator1 
rbegin1 ()
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rbegin2 () const
BOOST_UBLAS_INLINE
reverse_iterator2 
rbegin2 ()
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rend1 () const
BOOST_UBLAS_INLINE
reverse_iterator1 
rend1 ()
BOOST_UBLAS_INLINE
reverse_iterator2 
rend2 ()
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rend2 () const
BOOST_UBLAS_INLINE bool same_closure (const matrix_slice &ms) 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 difference_type stride1 () const
BOOST_UBLAS_INLINE difference_type stride2 () const
BOOST_UBLAS_INLINE void swap (matrix_slice ms)

Static Public Attributes

static const unsigned complexity

Private Types

typedef slice_type::const_iterator const_subiterator1_type
typedef slice_type::const_iterator const_subiterator2_type
typedef matrix_slice< M > self_type
typedef slice_type::const_iterator subiterator1_type
typedef slice_type::const_iterator subiterator2_type

Private Attributes

matrix_closure_type data_
slice_type s1_
slice_type s2_

Friends

BOOST_UBLAS_INLINE friend void swap (matrix_slice ms1, matrix_slice ms2)

Detailed Description

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

Definition at line 3229 of file matrix_proxy.hpp.


Member Typedef Documentation

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

Definition at line 3237 of file matrix_proxy.hpp.

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

Definition at line 3238 of file matrix_proxy.hpp.

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

Definition at line 3239 of file matrix_proxy.hpp.

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

Definition at line 3240 of file matrix_proxy.hpp.

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

Definition at line 3241 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_slice< M >::reference

Definition at line 3244 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_slice< M >::matrix_closure_type

Definition at line 3247 of file matrix_proxy.hpp.

Definition at line 3248 of file matrix_proxy.hpp.

Definition at line 3249 of file matrix_proxy.hpp.

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

Definition at line 3250 of file matrix_proxy.hpp.

Definition at line 3251 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_slice< M >::storage_category

Definition at line 3253 of file matrix_proxy.hpp.

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

Definition at line 3254 of file matrix_proxy.hpp.

template<class M>
typedef slice_type::const_iterator boost::numeric::ublas::matrix_slice< M >::const_subiterator1_type [private]

Definition at line 3429 of file matrix_proxy.hpp.

template<class M>
typedef slice_type::const_iterator boost::numeric::ublas::matrix_slice< M >::subiterator1_type [private]

Definition at line 3430 of file matrix_proxy.hpp.

template<class M>
typedef slice_type::const_iterator boost::numeric::ublas::matrix_slice< M >::const_subiterator2_type [private]

Definition at line 3431 of file matrix_proxy.hpp.

template<class M>
typedef slice_type::const_iterator boost::numeric::ublas::matrix_slice< M >::subiterator2_type [private]

Definition at line 3432 of file matrix_proxy.hpp.


Constructor & Destructor Documentation

template<class M>
BOOST_UBLAS_INLINE boost::numeric::ublas::matrix_slice< M >::matrix_slice ( matrix_type data,
const slice_type s1,
const slice_type s2 
) [inline]

Definition at line 3258 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE boost::numeric::ublas::matrix_slice< M >::matrix_slice ( const matrix_closure_type data,
const slice_type s1,
const slice_type s2,
int   
) [inline]

Definition at line 3267 of file matrix_proxy.hpp.


Member Function Documentation

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

Definition at line 3278 of file matrix_proxy.hpp.

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

Definition at line 3282 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE difference_type boost::numeric::ublas::matrix_slice< M >::stride1 ( ) const [inline]

Definition at line 3286 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE difference_type boost::numeric::ublas::matrix_slice< M >::stride2 ( ) const [inline]

Definition at line 3290 of file matrix_proxy.hpp.

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

Definition at line 3294 of file matrix_proxy.hpp.

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

Definition at line 3298 of file matrix_proxy.hpp.

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

Definition at line 3304 of file matrix_proxy.hpp.

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

Definition at line 3308 of file matrix_proxy.hpp.

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

Definition at line 3315 of file matrix_proxy.hpp.

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

Definition at line 3319 of file matrix_proxy.hpp.

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

Definition at line 3333 of file matrix_proxy.hpp.

template<class M>
BOOST_UBLAS_INLINE matrix_slice<matrix_type> boost::numeric::ublas::matrix_slice< M >::project ( const slice_type s1,
const slice_type s2 
) const [inline]

Definition at line 3337 of file matrix_proxy.hpp.

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

Definition at line 3343 of file matrix_proxy.hpp.

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

Definition at line 3348 of file matrix_proxy.hpp.

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

Definition at line 3353 of file matrix_proxy.hpp.

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

Definition at line 3359 of file matrix_proxy.hpp.

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

Definition at line 3365 of file matrix_proxy.hpp.

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

Definition at line 3371 of file matrix_proxy.hpp.

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

Definition at line 3377 of file matrix_proxy.hpp.

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

Definition at line 3383 of file matrix_proxy.hpp.

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

Definition at line 3389 of file matrix_proxy.hpp.

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

Definition at line 3395 of file matrix_proxy.hpp.

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

Definition at line 3402 of file matrix_proxy.hpp.

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

Definition at line 3408 of file matrix_proxy.hpp.

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

Definition at line 3414 of file matrix_proxy.hpp.

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

Definition at line 3457 of file matrix_proxy.hpp.

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

Definition at line 3465 of file matrix_proxy.hpp.

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

Definition at line 3473 of file matrix_proxy.hpp.

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

Definition at line 3481 of file matrix_proxy.hpp.

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

Definition at line 3625 of file matrix_proxy.hpp.

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

Definition at line 3629 of file matrix_proxy.hpp.

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

Definition at line 3766 of file matrix_proxy.hpp.

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

Definition at line 3770 of file matrix_proxy.hpp.

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

Definition at line 3908 of file matrix_proxy.hpp.

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

Definition at line 3912 of file matrix_proxy.hpp.

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

Definition at line 4049 of file matrix_proxy.hpp.

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

Definition at line 4053 of file matrix_proxy.hpp.

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

Definition at line 4060 of file matrix_proxy.hpp.

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

Definition at line 4064 of file matrix_proxy.hpp.

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

Definition at line 4069 of file matrix_proxy.hpp.

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

Definition at line 4073 of file matrix_proxy.hpp.

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

Definition at line 4078 of file matrix_proxy.hpp.

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

Definition at line 4082 of file matrix_proxy.hpp.

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

Definition at line 4087 of file matrix_proxy.hpp.

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

Definition at line 4091 of file matrix_proxy.hpp.

BOOST_UBLAS_INLINE const expression_type& boost::numeric::ublas::matrix_expression< matrix_slice< 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_slice< 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_slice< M >  ms1,
matrix_slice< M >  ms2 
) [friend]

Definition at line 3422 of file matrix_proxy.hpp.


Member Data Documentation

Definition at line 4096 of file matrix_proxy.hpp.

template<class M>
slice_type boost::numeric::ublas::matrix_slice< M >::s1_ [private]

Definition at line 4097 of file matrix_proxy.hpp.

template<class M>
slice_type boost::numeric::ublas::matrix_slice< M >::s2_ [private]

Definition at line 4098 of file matrix_proxy.hpp.

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

Definition at line 312 of file expression_types.hpp.


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