Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.

boost::numeric::ublas::mapped_vector< T, A > Class Template Reference

Index map based sparse vector. More...

Inherits vector_container< mapped_vector< T, A > >.

List of all members.

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_vectoroperator= (const mapped_vector &v)
template<class C >
BOOST_UBLAS_INLINE mapped_vectoroperator= (const vector_container< C > &v)
BOOST_UBLAS_INLINE mapped_vectorassign_temporary (mapped_vector &v)
template<class AE >
BOOST_UBLAS_INLINE mapped_vectoroperator= (const vector_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE mapped_vectorassign (const vector_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE mapped_vectoroperator+= (const vector_expression< AE > &ae)
template<class C >
BOOST_UBLAS_INLINE mapped_vectoroperator+= (const vector_container< C > &v)
template<class AE >
BOOST_UBLAS_INLINE mapped_vectorplus_assign (const vector_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE mapped_vectoroperator-= (const vector_expression< AE > &ae)
template<class C >
BOOST_UBLAS_INLINE mapped_vectoroperator-= (const vector_container< C > &v)
template<class AE >
BOOST_UBLAS_INLINE mapped_vectorminus_assign (const vector_expression< AE > &ae)
template<class AT >
BOOST_UBLAS_INLINE mapped_vectoroperator*= (const AT &at)
template<class AT >
BOOST_UBLAS_INLINE mapped_vectoroperator/= (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)

Detailed Description

template<class T, class A>
class boost::numeric::ublas::mapped_vector< T, A >

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 $n$-dimensional sparse vector, and 0 <= i < n the non-zero elements $v_i$ are mapped to consecutive elements of the associative container, i.e. for elements $k = v_{i_1}$ and $k + 1 = v_{i_2}$ of the container, holds $i_1 < i_2$.

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>.

Template Parameters:
T the type of object stored in the vector (like double, float, complex, etc...)
A the type of Storage array

Generated on Sun Jul 4 20:31:07 2010 for ublas by  doxygen 1.6.1