A Vector describes common aspects of dense, packed and sparse vectors.
V |
A type that is a model of Vector |
v |
Objects of type V |
n, i |
Objects of a type convertible to size_type |
t |
Object of a type convertible to value_type |
p |
Object of a type convertible to bool |
In addition to the expressions defined in Vector Expression the following expressions must be valid.
Name | Expression | Type requirements | Return type |
---|---|---|---|
Sizing constructor | V v (n) |
V |
|
Insert | v.insert (i, t) |
v is mutable. |
void |
Erase | v.erase (i) |
v is mutable. |
void |
Clear | v.clear () |
v is mutable. |
void |
Resize | v.resize (n) v.resize (n, p) |
v is mutable. |
void |
Semantics of an expression is defined only where it differs from, or is not defined in Vector Expression .
Name | Expression | Precondition | Semantics | Postcondition |
---|---|---|---|---|
Sizing constructor | V v (n) |
n >= 0 |
Allocates a vector of n elements. |
v.size () == n . |
Insert | v.insert (i, t) |
0 <= i < v.size () andv (i) is a copy of value_type () . |
A copy of t is inserted in v . |
v (i) is a copy of t . |
Erase | v.erase (i) |
0 <= i < v.size () |
Destroys the element v (i) and replaces it with
value_type () . |
v (i) is a copy of value_type
() . |
Clear | v.clear () |
Equivalent tofor (i = 0; i < v.size (); ++ i) v.erase (i); |
||
Resize | v.resize (n)
|
Reallocates the vector so that it can hold n
elements.Erases or appends elements in order to bring the vector to the prescribed size. Appended elements copies of value_type() .
When p == false then exisiting elements are not preserved and elements will not appended as normal. Instead the vector is in the same state as that after an equivilent sizing constructor. |
v.size () == n . |
The run-time complexity of the sizing constructor is linear in the vector's size.
The run-time complexity of insert and erase is specific for the vector.
The run-time complexity of resize is linear in the vector's size.
vector<T>
, bounded_vector<T, N>
unit_vector<T>
, zero_vector<T>
, scalar_vector<T>
sparse_vector<T>
, compressed_vector
, coordinate_vector
A Matrix describes common aspects of dense, packed and sparse matrices.
M |
A type that is a model of Matrix |
m |
Objects of type M |
n1, n2, i, j |
Objects of a type convertible to size_type |
t |
Object of a type convertible to value_type |
p |
Object of a type convertible to bool |
In addition to the expressions defined in Matrix Expression the following expressions must be valid.
Name | Expression | Type requirements | Return type |
---|---|---|---|
Sizing constructor | M m (n1, n2) |
M |
|
Insert | m.insert (i, j, t) |
m is mutable. |
void |
Erase | m.erase (i, j) |
m is mutable. |
void |
Clear | m.clear () |
m is mutable. |
void |
Resize | m.resize (n1, n2) m.resize (n1, n2, p) |
m is mutable. |
void |
Semantics of an expression is defined only where it differs from, or is not defined in Matrix Expression .
Name | Expression | Precondition | Semantics | Postcondition |
---|---|---|---|---|
Sizing constructor | M m (n1, n2) |
n1 >= 0 and n2 >= 0 |
Allocates a matrix of n1 rows and n2
columns. |
m.size1 () == n1 and m.size2 () ==
n2 . |
Insert | m.insert (i, j, t) |
0 <= i < m.size1 () ,0 <= j < m.size2 () and is a copy of value_type () . |
A copy of t is inserted in m . |
m (i, j) is a copy of t . |
Erase | m.erase (i, j) |
0 <= i < m.size1 () and
|
Destroys the element m (i, j) and replaces it with
value_type () . |
m (i, j) is a copy of value_type
() . |
Clear | m.clear () |
Equivalent tofor (i = 0; i < m.size1 (); ++ i) for (j = 0; j < m.size2 (); ++ j) m.erase (i, j); |
||
Resize | m.resize (n1, n2)
|
Reallocate the matrix so that it can hold n1 rows
and n2 columns.Erases or appends elements in order to bring the matrix to the prescribed size. Appended elements are value_type()
copies.When p == false then exisiting elements are not preserved and elements will not appended as normal. Instead the matrix is in the same state as that after an equivilent sizing constructor. |
m.size1 () == n1 and m.size2 () == n2 . |
The run-time complexity of the sizing constructor is quadratic in the matrix's size.
The run-time complexity of insert and erase is specific for the matrix.
The run-time complexity of resize is quadratic in the matrix's size.
matrix<T>
, bounded_matrix<T, M, N>
identity_matrix<T>
, zero_matrix<T>
, scalar_matrix<T>
triangular_matrix<T>
, symmetric_matrix<T>
, banded_matrix<T>
sparse_matrix<T>
, compressed_matrix
, coordinate_matrix
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: 24/06/2004