# boost::numeric::ublas::vector_range< V > Class Template Reference

A vector referencing a continuous subvector of elements of vector `v` containing all elements specified by `range`. More...

Inherits vector_expression< vector_range< V > >.

List of all members.

## 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)

## Detailed Description

### template<class V>
class boost::numeric::ublas::vector_range< V >

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.

Template Parameters:

  | V | the type of vector referenced (for example `vector<double>`)