1 Vector
1.1 Description
The templated class vector<T, A> is the basecontainer adaptor for dense vectors. For an-dimensionalvector and 0 <= i < n every elementvi is mapped to thei-thelement of the container.
1.2 Example
#include <boost/numeric/ublas/vector.hpp> //生成一般的向量,其内置类型的值为0,在默认的情况下 #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; }
1.3 Definition
Defined in the header vector.hpp.
1.4 Template parameters
| Parameter | Description | Default |
|---|---|---|
T | The type of object stored in the vector. | |
A | The type of the Storage array. [1] | unbounded_array<T> |
1.5 Model of
1.6 Type requirements
None, except for those imposed by the requirements of Vectorand RandomAccessContainer.
1.7 Public base classes
vector_container<vector<T, A> >
1.8 Members
| Member | Where defined | Description |
|---|---|---|
value_type | VectorExpression | |
reference | VectorExpression | |
const_reference | VectorExpression | |
size_type | VectorExpression | |
difference_type | VectorExpression | |
const_iterator | VectorExpression | |
iterator | VectorExpression | |
const_reverse_iterator | VectorExpression | |
reverse_iterator | VectorExpression | |
array_type | Vector | |
vector () | VectorExpression | Allocates an uninitialized vector that holds zeroelements. |
vector (size_type size) | Vector | Allocates an uninitialized vector that holdssize elements. |
vector (const vector &v) | The copy constructor. | |
template<class AE> | The extended copy constructor. | |
void resize (size_type size, bool preserve =true) | Vector | Reallocates a vector to hold sizeelements. The existing elements of thevector arepreseved when specified. |
size_type size () const | VectorExpression | Returns the size of the vector. |
size_type max_size () const | RandomAccessContainer | Returns the upper bound on the size of the vector. |
bool empty () const | RandomAccessContainer | Equivilent to size () == 0. |
const array_type& data () const | Vector | |
array_type& data () | Vector | |
const_reference operator () (size_type i)const | VectorExpression | Returns a const reference of the i-th element. |
reference operator () (size_type i) | VectorExpression | Returns a reference of the i-th element. |
const_reference operator [] (size_type i) const | Vector | Returns a const reference of the i-th element. |
reference operator [] (size_type i) | Vector | Returns a reference of the i-th element. |
vector &operator = (const vector &v) | VectorExpression | The assignment operator. |
vector &assign_temporary (vector &v) | VectorExpression | Assigns a temporary. May change the vector v. |
template<class AE> | VectorExpression | The extended assignment operator. |
template<class AE> | VectorExpression | Assigns a vector expression to the vector. Left and right handside of the assignment should be independent. |
template<class AE> | VectorExpression | A computed assignment operator. Adds the vector expression tothe vector. |
template<class AE> | VectorExpression | Adds a vector expression to the vector. Left and right handside of the assignment should be independent. |
template<class AE> | VectorExpression | A computed assignment operator. Subtracts the vector expressionfrom the vector. |
template<class AE> | VectorExpression | Subtracts a vector expression from the vector. Left and righthand side of the assignment should be independent. |
template<class AT> | VectorExpression | A computed assignment operator. Multiplies the vector with ascalar. |
template<class AT> | VectorExpression | A computed assignment operator. Divides the vector through ascalar. |
void swap (vector &v) | VectorExpression | Swaps the contents of the vectors. |
void insert_element (size_type i, const_reference t) | Vector | Inserts the value t at the i-thelement. |
void erase_element (size_type i) | Vector | Erases the value at the i-th element. |
void clear () | Vector | Clears the vector. |
const_iterator begin () const | VectorExpression | Returns a const_iterator pointing to the beginningof the vector. |
const_iterator end () const | VectorExpression | Returns a const_iterator pointing to the end ofthe vector. |
iterator begin () | VectorExpression | Returns a iterator pointing to the beginning ofthe vector. |
iterator end () | VectorExpression | Returns a iterator pointing to the end of thevector. |
const_reverse_iterator rbegin () const | VectorExpression | Returns a const_reverse_iterator pointing to thebeginning of the reversedvector. |
const_reverse_iterator rend () const | VectorExpression | Returns a const_reverse_iterator pointing to theend of the reversedvector. |
reverse_iterator rbegin () | VectorExpression | Returns a reverse_iterator pointing to thebeginning of the reversedvector. |
reverse_iterator rend () | VectorExpression | Returns a reverse_iterator pointing to the end ofthe reversed vector. |
1.9 Notes
[1] Common parametersfor the Storage array are unbounded_array<T> ,bounded_array<T> andstd::vector<T> .
2 Unit Vector
2.1 Description
The templated class unit_vector<T, ALLOC> representscanonical unit vectors. For thek-thn-dimensional canonical unit vector and 0 <= i <n holdsuki= 0, if i <> k, anduki=1.
2.2 Example
#include <boost/numeric/ublas/vector.hpp> //单位向量,其k个不同的维度,只能有一个维度的值为1,其余为零。是构成单位矩阵的元素
#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;
}
}
2.3 Definition
Defined in the header vector.hpp.
2.4 Template parameters
| Parameter | Description | Default |
|---|---|---|
T | The type of object stored in the vector. | int |
ALLOC | An STL Allocator for size_type and difference_type. | std::allocator |
2.5 Model of
Vector .
2.6 Type requirements
None, except for those imposed by the requirements ofVector .
2.7 Public base classes
vector_container<unit_vector<T> >
2.8 Members
| Member | Description |
|---|---|
unit_vector () | Constructs an unit_vector that holds zeroelements. |
unit_vector (size_type size, size_type index) | Constructs the index-th unit_vectorthat holds size elements. |
unit_vector (const unit_vector &v) | The copy constructor. |
void resize (size_type size, bool preserve =true) | Resizes a unit_vector to hold sizeelements. Therefore the existing elements of theunit_vector are always preseved. |
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 beginningof the unit_vector. |
const_iterator end () const | Returns a const_iterator pointing to the end ofthe unit_vector. |
const_reverse_iterator rbegin () const | Returns a const_reverse_iterator pointing to thebeginning of the reversedunit_vector. |
const_reverse_iterator rend () const | Returns a const_reverse_iterator pointing to theend of the reversedunit_vector. |
3 Zero Vector
3.1 Description
The templated class zero_vector<T, ALLOC> representszero vectors. For an-dimensional zero vector and 0<= i < n holds zi=0.
3.2 Example
#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;
}
3.3 Definition
Defined in the header vector.hpp.
3.4 Template parameters
| Parameter | Description | Default |
|---|---|---|
T | The type of object stored in the vector. | int |
ALLOC | An STL Allocator for size_type and difference_type. | std::allocator |
3.5 Model of
Vector .
3.6 Type requirements
None, except for those imposed by the requirements ofVector .
3.7 Public base classes
vector_container<zero_vector<T> >
3.8 Members
| Member | Description |
|---|---|
zero_vector () | Constructs a zero_vector that holds zeroelements. |
zero_vector (size_type size) | Constructs a zero_vector that holdssize elements. |
zero_vector (const zero_vector &v) | The copy constructor. |
void resize (size_type size, bool preserve =true) | Resizes a zero_vector to hold sizeelements. Therefore the existing elements of thezero_vector are always preseved. |
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 beginningof the zero_vector. |
const_iterator end () const | Returns a const_iterator pointing to the end ofthe zero_vector. |
const_reverse_iterator rbegin () const | Returns a const_reverse_iterator pointing to thebeginning of the reversedzero_vector. |
const_reverse_iterator rend () const | Returns a const_reverse_iterator pointing to theend of the reversedzero_vector. |
4 Scalar Vector
4.1 Description
The templated class scalar_vector<T, ALLOC>represents scalar vectors. For an-dimensional scalarvector and 0 <= i < n holdszi= s.
4.2 Example
#include <boost/numeric/ublas/vector.hpp> //标量向量,其元素的各个值全部为1 #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; scalar_vector<double> v (3); std::cout << v << std::endl; }
4.3 Definition
Defined in the header vector.hpp.
4.4 Template parameters
| Parameter | Description | Default |
|---|---|---|
T | The type of object stored in the vector. | int |
ALLOC | An STL Allocator for size_type and difference_type. | std::allocator |
4.5 Model of
Vector .
4.6 Type requirements
None, except for those imposed by the requirements ofVector .
4.7 Public base classes
vector_container<scalar_vector<T>>
4.8 Members
| Member | Description |
|---|---|
scalar_vector () | Constructs a scalar_vector that holds zeroelements. |
scalar_vector (size_type size, const value_type&value) | Constructs a scalar_vector that holdssize elements each of the specified value. |
scalar_vector (const scalar_vector &v) | The copy constructor. |
void resize (size_type size, bool preserve =true) | Resizes a scalar_vector to hold sizeelements. Therefore the existing elements of thescalar_vector are always preseved. |
size_type size () const | Returns the size of the scalar_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. |
scalar_vector &operator = (const scalar_vector&v) | The assignment operator. |
scalar_vector &assign_temporary (scalar_vector&v) | Assigns a temporary. May change the scalar vectorv . |
void swap (scalar_vector &v) | Swaps the contents of the scalar vectors. |
const_iterator begin () const | Returns a const_iterator pointing to the beginningof the scalar_vector. |
const_iterator end () const | Returns a const_iterator pointing to the end ofthe scalar_vector. |
const_reverse_iterator rbegin () const | Returns a const_reverse_iterator pointing to thebeginning of the reversedscalar_vector. |
const_reverse_iterator rend () const | Returns a const_reverse_iterator pointing to theend of the reversedscalar_vector. |
本文详细介绍了Boost库中的ublas::vector类,包括其基本概念、模板参数、模型、类型需求以及公共基类。此外,还分别讨论了Unit Vector、Zero Vector和Scalar Vector的特性和用法,提供了示例代码帮助理解。

5514

被折叠的 条评论
为什么被折叠?



