![]() |
Boost.uBlas 1.49
Linear Algebra in C++: matrices, vectors and numeric algorithms
|
A vector referencing a non continuous subvector of elements of vector v containing all elements specified by slice
.
More...
#include <vector_proxy.hpp>
Classes | |
class | const_iterator |
class | iterator |
Public Types | |
typedef self_type | closure_type |
typedef const self_type | const_closure_type |
typedef V::const_reference | const_reference |
typedef reverse_iterator_base < const_iterator > | const_reverse_iterator |
typedef const V | const_vector_type |
typedef V::difference_type | difference_type |
typedef vector_slice< V > | expression_type |
typedef basic_range< size_type, difference_type > | range_type |
typedef boost::mpl::if_ < boost::is_const< V > , typename V::const_reference, typename V::reference >::type | reference |
typedef reverse_iterator_base < iterator > | reverse_iterator |
typedef V::size_type | size_type |
typedef basic_slice< size_type, difference_type > | slice_type |
typedef storage_restrict_traits < typename V::storage_category, dense_proxy_tag > ::storage_category | storage_category |
typedef vector_tag | type_category |
typedef V::value_type | value_type |
typedef boost::mpl::if_ < boost::is_const< V > , typename V::const_closure_type, typename V::closure_type > ::type | vector_closure_type |
typedef V | vector_type |
Public Member Functions | |
BOOST_UBLAS_INLINE | vector_slice (vector_type &data, const slice_type &s) |
BOOST_UBLAS_INLINE | vector_slice (const vector_closure_type &data, const slice_type &s, int) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | assign (const vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE vector_slice & | assign_temporary (vector_slice &vs) |
BOOST_UBLAS_INLINE const_iterator | begin () const |
BOOST_UBLAS_INLINE iterator | begin () |
BOOST_UBLAS_INLINE const vector_closure_type & | data () const |
BOOST_UBLAS_INLINE vector_closure_type & | data () |
BOOST_UBLAS_INLINE iterator | end () |
BOOST_UBLAS_INLINE const_iterator | end () const |
BOOST_UBLAS_INLINE const_iterator | find (size_type i) const |
BOOST_UBLAS_INLINE iterator | find (size_type i) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | minus_assign (const vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE const_reference | operator() (size_type i) const |
BOOST_UBLAS_INLINE reference | operator() (size_type i) |
BOOST_UBLAS_INLINE const expression_type & | operator() () const |
BOOST_UBLAS_INLINE expression_type & | operator() () |
template<class AT > | |
BOOST_UBLAS_INLINE vector_slice & | operator*= (const AT &at) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | operator+= (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | operator-= (const vector_expression< AE > &ae) |
template<class AT > | |
BOOST_UBLAS_INLINE vector_slice & | operator/= (const AT &at) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | operator= (const vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE vector_slice & | operator= (const vector_slice &vs) |
BOOST_UBLAS_INLINE bool | operator== (const vector_slice &vs) const |
BOOST_UBLAS_INLINE reference | operator[] (size_type i) |
BOOST_UBLAS_INLINE const_reference | operator[] (size_type i) const |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | plus_assign (const vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE vector_slice< vector_type > | project (const range_type &r) const |
BOOST_UBLAS_INLINE vector_slice< vector_type > | project (const slice_type &s) const |
BOOST_UBLAS_INLINE const_reverse_iterator | rbegin () const |
BOOST_UBLAS_INLINE reverse_iterator | rbegin () |
BOOST_UBLAS_INLINE const_reverse_iterator | rend () const |
BOOST_UBLAS_INLINE reverse_iterator | rend () |
BOOST_UBLAS_INLINE bool | same_closure (const vector_slice &vr) const |
BOOST_UBLAS_INLINE size_type | size () const |
BOOST_UBLAS_INLINE size_type | start () const |
BOOST_UBLAS_INLINE difference_type | stride () const |
BOOST_UBLAS_INLINE void | swap (vector_slice vs) |
Static Public Attributes | |
static const unsigned | complexity |
Private Types | |
typedef slice_type::const_iterator | const_subiterator_type |
typedef vector_slice< V > | self_type |
typedef slice_type::const_iterator | subiterator_type |
Private Attributes | |
vector_closure_type | data_ |
slice_type | s_ |
Friends | |
BOOST_UBLAS_INLINE friend void | swap (vector_slice vs1, vector_slice vs2) |
A vector referencing a non continuous subvector of elements of vector v containing all elements specified by slice
.
A vector slice can be used as a normal vector in any expression. If the specified slice falls outside that of the index slice of the vector, then the vector_slice
is not a well formed Vector Expression and access to an element outside of index slice of the vector is undefined.
A slice is a generalization of a range. In a range going from to
, all elements belong to the range. In a slice, a
can be specified meaning to take one element over
in the range specified from
to
. Obviously, a slice with a
of 1 is equivalent to a range.
V | the type of vector referenced (for example vector<double> ) |
Definition at line 588 of file vector_proxy.hpp.
typedef vector_slice<V> boost::numeric::ublas::vector_slice< V >::self_type [private] |
Definition at line 591 of file vector_proxy.hpp.
typedef const V boost::numeric::ublas::vector_slice< V >::const_vector_type |
Definition at line 596 of file vector_proxy.hpp.
typedef V boost::numeric::ublas::vector_slice< V >::vector_type |
Definition at line 597 of file vector_proxy.hpp.
typedef V::size_type boost::numeric::ublas::vector_slice< V >::size_type |
Definition at line 598 of file vector_proxy.hpp.
typedef V::difference_type boost::numeric::ublas::vector_slice< V >::difference_type |
Definition at line 599 of file vector_proxy.hpp.
typedef V::value_type boost::numeric::ublas::vector_slice< V >::value_type |
Definition at line 600 of file vector_proxy.hpp.
typedef V::const_reference boost::numeric::ublas::vector_slice< V >::const_reference |
Definition at line 601 of file vector_proxy.hpp.
typedef boost::mpl::if_<boost::is_const<V>, typename V::const_reference, typename V::reference>::type boost::numeric::ublas::vector_slice< V >::reference |
Definition at line 604 of file vector_proxy.hpp.
typedef boost::mpl::if_<boost::is_const<V>, typename V::const_closure_type, typename V::closure_type>::type boost::numeric::ublas::vector_slice< V >::vector_closure_type |
Definition at line 607 of file vector_proxy.hpp.
typedef basic_range<size_type, difference_type> boost::numeric::ublas::vector_slice< V >::range_type |
Definition at line 608 of file vector_proxy.hpp.
typedef basic_slice<size_type, difference_type> boost::numeric::ublas::vector_slice< V >::slice_type |
Definition at line 609 of file vector_proxy.hpp.
typedef const self_type boost::numeric::ublas::vector_slice< V >::const_closure_type |
Definition at line 610 of file vector_proxy.hpp.
typedef self_type boost::numeric::ublas::vector_slice< V >::closure_type |
Definition at line 611 of file vector_proxy.hpp.
typedef storage_restrict_traits<typename V::storage_category, dense_proxy_tag>::storage_category boost::numeric::ublas::vector_slice< V >::storage_category |
Definition at line 613 of file vector_proxy.hpp.
typedef slice_type::const_iterator boost::numeric::ublas::vector_slice< V >::const_subiterator_type [private] |
Definition at line 790 of file vector_proxy.hpp.
typedef slice_type::const_iterator boost::numeric::ublas::vector_slice< V >::subiterator_type [private] |
Definition at line 791 of file vector_proxy.hpp.
typedef reverse_iterator_base<const_iterator> boost::numeric::ublas::vector_slice< V >::const_reverse_iterator |
Definition at line 1025 of file vector_proxy.hpp.
typedef reverse_iterator_base<iterator> boost::numeric::ublas::vector_slice< V >::reverse_iterator |
Definition at line 1026 of file vector_proxy.hpp.
typedef vector_slice< V > boost::numeric::ublas::vector_expression< vector_slice< V > >::expression_type [inherited] |
Reimplemented from boost::numeric::ublas::ublas_expression< vector_slice< V > >.
Definition at line 187 of file expression_types.hpp.
typedef vector_tag boost::numeric::ublas::vector_expression< vector_slice< V > >::type_category [inherited] |
Definition at line 188 of file expression_types.hpp.
BOOST_UBLAS_INLINE boost::numeric::ublas::vector_slice< V >::vector_slice | ( | vector_type & | data, |
const slice_type & | s | ||
) | [inline] |
Definition at line 617 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE boost::numeric::ublas::vector_slice< V >::vector_slice | ( | const vector_closure_type & | data, |
const slice_type & | s, | ||
int | |||
) | [inline] |
Definition at line 624 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::vector_slice< V >::start | ( | ) | const [inline] |
Definition at line 633 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE difference_type boost::numeric::ublas::vector_slice< V >::stride | ( | ) | const [inline] |
Definition at line 637 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::vector_slice< V >::size | ( | ) | const [inline] |
Definition at line 641 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const vector_closure_type& boost::numeric::ublas::vector_slice< V >::data | ( | ) | const [inline] |
Definition at line 647 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_closure_type& boost::numeric::ublas::vector_slice< V >::data | ( | ) | [inline] |
Definition at line 651 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const_reference boost::numeric::ublas::vector_slice< V >::operator() | ( | size_type | i | ) | const [inline] |
Definition at line 658 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE reference boost::numeric::ublas::vector_slice< V >::operator() | ( | size_type | i | ) | [inline] |
Definition at line 662 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const_reference boost::numeric::ublas::vector_slice< V >::operator[] | ( | size_type | i | ) | const [inline] |
Definition at line 667 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE reference boost::numeric::ublas::vector_slice< V >::operator[] | ( | size_type | i | ) | [inline] |
Definition at line 671 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice<vector_type> boost::numeric::ublas::vector_slice< V >::project | ( | const range_type & | r | ) | const [inline] |
Definition at line 690 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice<vector_type> boost::numeric::ublas::vector_slice< V >::project | ( | const slice_type & | s | ) | const [inline] |
Definition at line 694 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::operator= | ( | const vector_slice< V > & | vs | ) | [inline] |
Definition at line 700 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::assign_temporary | ( | vector_slice< V > & | vs | ) | [inline] |
Definition at line 706 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::operator= | ( | const vector_expression< AE > & | ae | ) | [inline] |
Definition at line 713 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::assign | ( | const vector_expression< AE > & | ae | ) | [inline] |
Definition at line 719 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::operator+= | ( | const vector_expression< AE > & | ae | ) | [inline] |
Definition at line 725 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::plus_assign | ( | const vector_expression< AE > & | ae | ) | [inline] |
Definition at line 731 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::operator-= | ( | const vector_expression< AE > & | ae | ) | [inline] |
Definition at line 737 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::minus_assign | ( | const vector_expression< AE > & | ae | ) | [inline] |
Definition at line 743 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::operator*= | ( | const AT & | at | ) | [inline] |
Definition at line 749 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE vector_slice& boost::numeric::ublas::vector_slice< V >::operator/= | ( | const AT & | at | ) | [inline] |
Definition at line 755 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE bool boost::numeric::ublas::vector_slice< V >::same_closure | ( | const vector_slice< V > & | vr | ) | const [inline] |
Definition at line 762 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE bool boost::numeric::ublas::vector_slice< V >::operator== | ( | const vector_slice< V > & | vs | ) | const [inline] |
Definition at line 768 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE void boost::numeric::ublas::vector_slice< V >::swap | ( | vector_slice< V > | vs | ) | [inline] |
Definition at line 774 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const_iterator boost::numeric::ublas::vector_slice< V >::find | ( | size_type | i | ) | const [inline] |
Definition at line 806 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE iterator boost::numeric::ublas::vector_slice< V >::find | ( | size_type | i | ) | [inline] |
Definition at line 814 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const_iterator boost::numeric::ublas::vector_slice< V >::begin | ( | ) | const [inline] |
Definition at line 915 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const_iterator boost::numeric::ublas::vector_slice< V >::end | ( | ) | const [inline] |
Definition at line 919 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE iterator boost::numeric::ublas::vector_slice< V >::begin | ( | ) | [inline] |
Definition at line 1016 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE iterator boost::numeric::ublas::vector_slice< V >::end | ( | ) | [inline] |
Definition at line 1020 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const_reverse_iterator boost::numeric::ublas::vector_slice< V >::rbegin | ( | ) | const [inline] |
Definition at line 1029 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const_reverse_iterator boost::numeric::ublas::vector_slice< V >::rend | ( | ) | const [inline] |
Definition at line 1033 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE reverse_iterator boost::numeric::ublas::vector_slice< V >::rbegin | ( | ) | [inline] |
Definition at line 1037 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE reverse_iterator boost::numeric::ublas::vector_slice< V >::rend | ( | ) | [inline] |
Definition at line 1041 of file vector_proxy.hpp.
BOOST_UBLAS_INLINE const expression_type& boost::numeric::ublas::vector_expression< vector_slice< V > >::operator() | ( | ) | const [inline, inherited] |
Definition at line 194 of file expression_types.hpp.
BOOST_UBLAS_INLINE expression_type& boost::numeric::ublas::vector_expression< vector_slice< V > >::operator() | ( | ) | [inline, inherited] |
Definition at line 198 of file expression_types.hpp.
BOOST_UBLAS_INLINE friend void swap | ( | vector_slice< V > | vs1, |
vector_slice< V > | vs2 | ||
) | [friend] |
Definition at line 783 of file vector_proxy.hpp.
vector_closure_type boost::numeric::ublas::vector_slice< V >::data_ [private] |
Definition at line 1046 of file vector_proxy.hpp.
slice_type boost::numeric::ublas::vector_slice< V >::s_ [private] |
Definition at line 1047 of file vector_proxy.hpp.
const unsigned boost::numeric::ublas::vector_expression< vector_slice< V > >::complexity [static, inherited] |
Definition at line 186 of file expression_types.hpp.