...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The templated class vector<T, A>
is the base
container adaptor for dense vectors. For a n-dimensional
vector and 0 <= i < n every element
vi is mapped to the i-th
element of the container.
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
using namespace boost::numeric::ublas;
vector<double> v (3);
for (unsigned i = 0; i < v.size (); ++ i)
v (i) = i;
std::cout << v << std::endl;
}
Defined in the header vector.hpp.
Parameter | Description | Default |
---|---|---|
T |
The type of object stored in the vector. | |
A |
The type of the adapted array. [1] | unbounded_array<T> |
Vector .
None, except for those imposed by the requirements of Vector .
vector_expression<vector<T, A> >
Member | Description |
---|---|
vector () |
Allocates an uninitialized vector that holds zero
elements. |
vector (size_type size) |
Allocates an uninitialized vector that holds
size elements. |
vector (const vector &v) |
The copy constructor. |
template<class AE> |
The extended copy constructor. |
void resize (size_type size) |
Reallocates a vector to hold size
elements. The content of the vector is not
preserved. |
size_type size () const |
Returns the size of the vector . |
const_reference operator () (size_type i)
const |
Returns a const reference of the i
-th element. |
reference operator () (size_type i) |
Returns a reference of the i -th element. |
const_reference operator [] (size_type i)
const |
Returns a const reference of the i
-th element. |
reference operator [] (size_type i) |
Returns a reference of the i -th element. |
vector &operator = (const vector &v) |
The assignment operator. |
vector &assign_temporary (vector &v) |
Assigns a temporary. May change the vector v . |
template<class AE> |
The extended assignment operator. |
template<class AE> |
Assigns a vector expression to the vector. Left and right hand side of the assignment should be independent. |
template<class AE> |
A computed assignment operator. Adds the vector expression to the vector. |
template<class AE> |
Adds a vector expression to the vector. Left and right hand side of the assignment should be independent. |
template<class AE> |
A computed assignment operator. Subtracts the vector expression from the vector. |
template<class AE> |
Subtracts a vector expression from the vector. Left and right hand side of the assignment should be independent. |
template<class AT> |
A computed assignment operator. Multiplies the vector with a scalar. |
template<class AT> |
A computed assignment operator. Divides the vector through a scalar. |
void swap (vector &v) |
Swaps the contents of the vectors. |
void insert (size_type i, const_reference t) |
Inserts the value t at the i -th
element. |
void erase (size_type i) |
Erases the value at the i -th element. |
void clear () |
Clears the vector. |
const_iterator begin () const |
Returns a const_iterator pointing to the beginning
of the vector . |
const_iterator end () const |
Returns a const_iterator pointing to the end of
the vector . |
iterator begin () |
Returns a iterator pointing to the beginning of
the vector . |
iterator end () |
Returns a iterator pointing to the end of the
vector . |
const_reverse_iterator rbegin () const |
Returns a const_reverse_iterator pointing to the
beginning of the reversed vector . |
const_reverse_iterator rend () const |
Returns a const_reverse_iterator pointing to the
end of the reversed vector . |
reverse_iterator rbegin () |
Returns a reverse_iterator pointing to the
beginning of the reversed vector . |
reverse_iterator rend () |
Returns a reverse_iterator pointing to the end of
the reversed vector . |
[1] Supported parameters for the adapted
array are unbounded_array<T>
,
bounded_array<T>
and
std::vector<T>
.
The templated class unit_vector<T>
represents
canonical unit vectors. For the k-th
n-dimensional canonical unit vector and 0 <= i <
n holds uki
= 0, if i <> k, and
uki =
1.
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
using namespace boost::numeric::ublas;
for (int i = 0; i < 3; ++ i) {
unit_vector<double> v (3, i);
std::cout << v << std::endl;
}
}
Defined in the header vector.hpp.
Parameter | Description | Default |
---|---|---|
T |
The type of object stored in the vector. |
None, except for those imposed by the requirements of Vector Expression .
vector_expression<unit_vector<T> >
Member | Description |
---|---|
unit_vector () |
Constructs an unit_vector that holds zero
elements. |
unit_vector (size_type size, size_type index) |
Constructs the index -th unit_vector
that holds size elements. |
unit_vector (const unit_vector &v) |
The copy constructor. |
void resize (size_type size) |
Resizes a unit_vector to hold size
elements. |
size_type size () const |
Returns the size of the unit_vector . |
size_type index () const |
Returns the index of the unit_vector . |
const_reference operator () (size_type i)
const |
Returns the value of the i -th element. |
const_reference operator [] (size_type i)
const |
Returns the value of the i -th element. |
unit_vector &operator = (const unit_vector
&v) |
The assignment operator. |
unit_vector &assign_temporary (unit_vector
&v) |
Assigns a temporary. May change the unit vector v
. |
void swap (unit_vector &v) |
Swaps the contents of the unit vectors. |
const_iterator begin () const |
Returns a const_iterator pointing to the beginning
of the unit_vector . |
const_iterator end () const |
Returns a const_iterator pointing to the end of
the unit_vector . |
const_reverse_iterator rbegin () const |
Returns a const_reverse_iterator pointing to the
beginning of the reversed unit_vector . |
const_reverse_iterator rend () const |
Returns a const_reverse_iterator pointing to the
end of the reversed unit_vector . |
The templated class zero_vector<T>
represents
zero vectors. For a n-dimensional zero vector and 0
<= i < n holds zi =
0.
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
using namespace boost::numeric::ublas;
zero_vector<double> v (3);
std::cout << v << std::endl;
}
Defined in the header vector.hpp.
Parameter | Description | Default |
---|---|---|
T |
The type of object stored in the vector. |
None, except for those imposed by the requirements of Vector Expression .
vector_expression<zero_vector<T> >
Member | Description |
---|---|
zero_vector () |
Constructs a zero_vector that holds zero
elements. |
zero_vector (size_type size) |
Constructs a zero_vector that holds
size elements. |
zero_vector (const zero_vector &v) |
The copy constructor. |
void resize (size_type size) |
Resizes a zero_vector to hold size
elements. |
size_type size () const |
Returns the size of the zero_vector . |
const_reference operator () (size_type i)
const |
Returns the value of the i -th element. |
const_reference operator [] (size_type i)
const |
Returns the value of the i -th element. |
zero_vector &operator = (const zero_vector
&v) |
The assignment operator. |
zero_vector &assign_temporary (zero_vector
&v) |
Assigns a temporary. May change the zero vector v
. |
void swap (zero_vector &v) |
Swaps the contents of the zero vectors. |
const_iterator begin () const |
Returns a const_iterator pointing to the beginning
of the zero_vector . |
const_iterator end () const |
Returns a const_iterator pointing to the end of
the zero_vector . |
const_reverse_iterator rbegin () const |
Returns a const_reverse_iterator pointing to the
beginning of the reversed zero_vector . |
const_reverse_iterator rend () const |
Returns a const_reverse_iterator pointing to the
end of the reversed zero_vector . |
Copyright (©) 2000-2002 Joerg Walter, Mathias Koch
Permission to copy, use, modify, sell and distribute this document
is granted provided this copyright notice appears in all copies.
This document is provided ``as is'' without express or implied
warranty, and with no claim as to its suitability for any
purpose.
Last revised: 1/15/2003