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 const V | const_vector_type |
typedef V | vector_type |
typedef V::size_type | size_type |
typedef V::difference_type | difference_type |
typedef V::value_type | value_type |
typedef V::const_reference | const_reference |
typedef boost::mpl::if_ < boost::is_const< V > , typename V::const_reference, typename V::reference >::type | reference |
typedef boost::mpl::if_ < boost::is_const< V > , typename V::const_closure_type, typename V::closure_type > ::type | vector_closure_type |
typedef basic_range< size_type, difference_type > | range_type |
typedef basic_slice< size_type, difference_type > | slice_type |
typedef const self_type | const_closure_type |
typedef self_type | closure_type |
typedef storage_restrict_traits < typename V::storage_category, dense_proxy_tag > ::storage_category | storage_category |
typedef reverse_iterator_base < const_iterator > | const_reverse_iterator |
typedef reverse_iterator_base < iterator > | reverse_iterator |
typedef vector_slice< V > | expression_type |
typedef vector_tag | type_category |
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) |
BOOST_UBLAS_INLINE size_type | start () const |
BOOST_UBLAS_INLINE difference_type | stride () const |
BOOST_UBLAS_INLINE size_type | size () const |
BOOST_UBLAS_INLINE const vector_closure_type & | data () const |
BOOST_UBLAS_INLINE vector_closure_type & | data () |
BOOST_UBLAS_INLINE const_reference | operator() (size_type i) const |
BOOST_UBLAS_INLINE reference | operator() (size_type i) |
BOOST_UBLAS_INLINE const_reference | operator[] (size_type i) const |
BOOST_UBLAS_INLINE reference | operator[] (size_type i) |
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 vector_slice & | operator= (const vector_slice &vs) |
BOOST_UBLAS_INLINE vector_slice & | assign_temporary (vector_slice &vs) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | operator= (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | assign (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | operator+= (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | plus_assign (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | operator-= (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_slice & | minus_assign (const vector_expression< AE > &ae) |
template<class AT > | |
BOOST_UBLAS_INLINE vector_slice & | operator*= (const AT &at) |
template<class AT > | |
BOOST_UBLAS_INLINE vector_slice & | operator/= (const AT &at) |
BOOST_UBLAS_INLINE bool | same_closure (const vector_slice &vr) const |
BOOST_UBLAS_INLINE bool | operator== (const vector_slice &vs) const |
BOOST_UBLAS_INLINE void | swap (vector_slice vs) |
BOOST_UBLAS_INLINE const_iterator | find (size_type i) const |
BOOST_UBLAS_INLINE iterator | find (size_type i) |
BOOST_UBLAS_INLINE const_iterator | begin () const |
BOOST_UBLAS_INLINE const_iterator | cbegin () const |
BOOST_UBLAS_INLINE const_iterator | end () const |
BOOST_UBLAS_INLINE const_iterator | cend () const |
BOOST_UBLAS_INLINE iterator | begin () |
BOOST_UBLAS_INLINE iterator | end () |
BOOST_UBLAS_INLINE const_reverse_iterator | rbegin () const |
BOOST_UBLAS_INLINE const_reverse_iterator | crbegin () const |
BOOST_UBLAS_INLINE const_reverse_iterator | rend () const |
BOOST_UBLAS_INLINE const_reverse_iterator | crend () const |
BOOST_UBLAS_INLINE reverse_iterator | rbegin () |
BOOST_UBLAS_INLINE reverse_iterator | rend () |
BOOST_UBLAS_INLINE const expression_type & | operator() () const |
BOOST_UBLAS_INLINE expression_type & | operator() () |
Static Public Attributes | |
static const unsigned | complexity |
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> ) |
typedef self_type boost::numeric::ublas::vector_slice< V >::closure_type |
typedef const self_type boost::numeric::ublas::vector_slice< V >::const_closure_type |
typedef V::const_reference boost::numeric::ublas::vector_slice< V >::const_reference |
typedef reverse_iterator_base<const_iterator> boost::numeric::ublas::vector_slice< V >::const_reverse_iterator |
typedef const V boost::numeric::ublas::vector_slice< V >::const_vector_type |
typedef V::difference_type boost::numeric::ublas::vector_slice< V >::difference_type |
|
inherited |
typedef basic_range<size_type, difference_type> boost::numeric::ublas::vector_slice< V >::range_type |
typedef boost::mpl::if_<boost::is_const<V>, typename V::const_reference, typename V::reference>::type boost::numeric::ublas::vector_slice< V >::reference |
typedef reverse_iterator_base<iterator> boost::numeric::ublas::vector_slice< V >::reverse_iterator |
typedef V::size_type boost::numeric::ublas::vector_slice< V >::size_type |
typedef basic_slice<size_type, difference_type> boost::numeric::ublas::vector_slice< V >::slice_type |
typedef storage_restrict_traits<typename V::storage_category, dense_proxy_tag>::storage_category boost::numeric::ublas::vector_slice< V >::storage_category |
|
inherited |
typedef V::value_type boost::numeric::ublas::vector_slice< V >::value_type |
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 |
typedef V boost::numeric::ublas::vector_slice< V >::vector_type |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References boost::numeric::ublas::vector_slice< V >::find().
|
inline |
|
inline |
References boost::numeric::ublas::vector_slice< V >::end().
|
inline |
|
inline |
References boost::numeric::ublas::vector_slice< V >::rend().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inline |
|
inline |
References boost::xpressive::at.
|
inline |
References boost::detail::type.
|
inline |
References boost::detail::type.
|
inline |
References boost::xpressive::at.
|
inline |
References boost::detail::type.
|
inline |
References boost::detail::type.
|
inline |
|
inline |
References boost::multiprecision::backends::i.
|
inline |
References boost::multiprecision::backends::i.
|
inline |
|
inline |
|
inline |
|
inline |
References boost::numeric::ublas::vector_slice< V >::end().
Referenced by boost::numeric::ublas::vector_slice< V >::crbegin().
|
inline |
References boost::numeric::ublas::vector_slice< V >::end().
|
inline |
References boost::numeric::ublas::vector_slice< V >::begin().
Referenced by boost::numeric::ublas::vector_slice< V >::crend().
|
inline |
|
inline |
Referenced by boost::numeric::ublas::vector_slice< V >::const_iterator::operator-(), boost::numeric::ublas::vector_slice< V >::iterator::operator-(), boost::numeric::ublas::vector_slice< V >::const_iterator::operator<(), boost::numeric::ublas::vector_slice< V >::iterator::operator<(), boost::numeric::ublas::vector_slice< V >::const_iterator::operator==(), and boost::numeric::ublas::vector_slice< V >::iterator::operator==().
|
inline |
References boost::numeric::ublas::basic_slice< Z, D >::size().
Referenced by boost::numeric::ublas::vector_slice< V >::end(), boost::numeric::ublas::vector_slice< V >::const_iterator::operator*(), boost::numeric::ublas::vector_slice< V >::iterator::operator*(), boost::numeric::ublas::vector_slice< V >::project(), and boost::numeric::ublas::vector_slice< V >::swap().
|
inline |
|
inline |
|
inline |
References BOOST_UBLAS_CHECK, and boost::numeric::ublas::vector_slice< V >::size().
|
friend |
|
staticinherited |