Index map based sparse vector. More...
Inherits vector_container< mapped_vector< T, A > >.
Classes | |
| class | const_iterator |
| class | iterator |
Public Types | |
| typedef A::size_type | size_type |
| typedef A::difference_type | difference_type |
| typedef T | value_type |
| typedef A | array_type |
| typedef const value_type & | const_reference |
|
typedef detail::map_traits< A, T >::reference | reference |
|
typedef const vector_reference < const self_type > | const_closure_type |
|
typedef vector_reference < self_type > | closure_type |
| typedef self_type | vector_temporary_type |
| typedef sparse_tag | storage_category |
|
typedef reverse_iterator_base < const_iterator > | const_reverse_iterator |
|
typedef reverse_iterator_base < iterator > | reverse_iterator |
Public Member Functions | |
| BOOST_UBLAS_INLINE | mapped_vector (size_type size, size_type non_zeros=0) |
| BOOST_UBLAS_INLINE | mapped_vector (const mapped_vector &v) |
| template<class AE > | |
| BOOST_UBLAS_INLINE | mapped_vector (const vector_expression< AE > &ae, size_type non_zeros=0) |
| BOOST_UBLAS_INLINE size_type | size () const |
| BOOST_UBLAS_INLINE size_type | nnz_capacity () const |
| BOOST_UBLAS_INLINE size_type | nnz () const |
|
BOOST_UBLAS_INLINE const array_type & | data () const |
| BOOST_UBLAS_INLINE array_type & | data () |
| BOOST_UBLAS_INLINE void | resize (size_type size, bool preserve=true) |
| BOOST_UBLAS_INLINE void | reserve (size_type non_zeros=0, bool preserve=true) |
| BOOST_UBLAS_INLINE pointer | find_element (size_type i) |
| BOOST_UBLAS_INLINE const_pointer | find_element (size_type i) const |
| BOOST_UBLAS_INLINE const_reference | operator() (size_type i) const |
| BOOST_UBLAS_INLINE true_reference | ref (size_type i) |
| 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 true_reference | insert_element (size_type i, const_reference t) |
| BOOST_UBLAS_INLINE void | erase_element (size_type i) |
| BOOST_UBLAS_INLINE void | clear () |
| BOOST_UBLAS_INLINE mapped_vector & | operator= (const mapped_vector &v) |
| template<class C > | |
| BOOST_UBLAS_INLINE mapped_vector & | operator= (const vector_container< C > &v) |
| BOOST_UBLAS_INLINE mapped_vector & | assign_temporary (mapped_vector &v) |
| template<class AE > | |
| BOOST_UBLAS_INLINE mapped_vector & | operator= (const vector_expression< AE > &ae) |
| template<class AE > | |
| BOOST_UBLAS_INLINE mapped_vector & | assign (const vector_expression< AE > &ae) |
| template<class AE > | |
| BOOST_UBLAS_INLINE mapped_vector & | operator+= (const vector_expression< AE > &ae) |
| template<class C > | |
| BOOST_UBLAS_INLINE mapped_vector & | operator+= (const vector_container< C > &v) |
| template<class AE > | |
| BOOST_UBLAS_INLINE mapped_vector & | plus_assign (const vector_expression< AE > &ae) |
| template<class AE > | |
| BOOST_UBLAS_INLINE mapped_vector & | operator-= (const vector_expression< AE > &ae) |
| template<class C > | |
| BOOST_UBLAS_INLINE mapped_vector & | operator-= (const vector_container< C > &v) |
| template<class AE > | |
| BOOST_UBLAS_INLINE mapped_vector & | minus_assign (const vector_expression< AE > &ae) |
| template<class AT > | |
| BOOST_UBLAS_INLINE mapped_vector & | operator*= (const AT &at) |
| template<class AT > | |
| BOOST_UBLAS_INLINE mapped_vector & | operator/= (const AT &at) |
| BOOST_UBLAS_INLINE void | swap (mapped_vector &v) |
| const_iterator | find (size_type i) const |
| 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 () |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int) |
Friends | |
| BOOST_UBLAS_INLINE friend void | swap (mapped_vector &v1, mapped_vector &v2) |
A sparse vector of values of type T of variable size. The sparse storage type A can be std::map<size_t, T> or map_array<size_t, T>. This means that only non-zero elements are effectively stored.
For a
-dimensional sparse vector, and 0 <= i < n the non-zero elements
are mapped to consecutive elements of the associative container, i.e. for elements
and
of the container, holds
.
Supported parameters for the adapted array are map_array<std::size_t, T> and map_std<std::size_t, T>. The latter is equivalent to std::map<std::size_t, T>.
| T | the type of object stored in the vector (like double, float, complex, etc...) | |
| A | the type of Storage array |
1.6.1