...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A vector referencing a continuous subvector of elements of vector v
containing all elements specified by range
.
More...
Inherits vector_expression< vector_range< V > >.
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 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 |
Public Member Functions | |
BOOST_UBLAS_INLINE | vector_range (vector_type &data, const range_type &r) |
BOOST_UBLAS_INLINE | vector_range (const vector_closure_type &data, const range_type &r, bool) |
BOOST_UBLAS_INLINE size_type | start () 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_range< vector_type > | project (const range_type &r) const |
BOOST_UBLAS_INLINE vector_range & | operator= (const vector_range &vr) |
BOOST_UBLAS_INLINE vector_range & | assign_temporary (vector_range &vr) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_range & | operator= (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_range & | assign (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_range & | operator+= (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_range & | plus_assign (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_range & | operator-= (const vector_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE vector_range & | minus_assign (const vector_expression< AE > &ae) |
template<class AT > | |
BOOST_UBLAS_INLINE vector_range & | operator*= (const AT &at) |
template<class AT > | |
BOOST_UBLAS_INLINE vector_range & | operator/= (const AT &at) |
BOOST_UBLAS_INLINE bool | same_closure (const vector_range &vr) const |
BOOST_UBLAS_INLINE bool | operator== (const vector_range &vr) const |
BOOST_UBLAS_INLINE void | swap (vector_range vr) |
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 | end () 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 | rend () const |
BOOST_UBLAS_INLINE reverse_iterator | rbegin () |
BOOST_UBLAS_INLINE reverse_iterator | rend () |
Friends | |
BOOST_UBLAS_INLINE friend void | swap (vector_range vr1, vector_range vr2) |
A vector range can be used as a normal vector in any expression. If the specified range falls outside that of the index range of the vector, then the vector_range
is not a well formed Vector Expression and access to an element outside of index range of the vector is undefined.
V | the type of vector referenced (for example vector<double> ) |