#include <vec.h>
Public Types | |
typedef Subscript | size_type |
Subscript type. | |
typedef T | value_type |
Type of elements stored in vector. | |
typedef T | element_type |
Type of elements stored in vector. | |
typedef T & | reference |
Reference to type stored in vector. | |
typedef const T & | const_reference |
Reference to type stored in constant vector. | |
typedef T * | pointer |
Pointer to type stored in vector. | |
typedef T * | iterator |
Iterator over elements in vector. | |
typedef const T * | const_iterator |
Iterator over elements in constant vector. | |
Public Member Functions | |
Subscript | lbound () const |
Returns lower bound of subscript. | |
iterator | begin () |
Return iterator pointing to first element of vector. | |
iterator | end () |
Return iterator pointing to one past last element of vector. | |
const_iterator | begin () const |
Return iterator pointing to first element of constant vector. | |
const_iterator | end () const |
Return iterator pointing to one past last element of constant vector. | |
~Vector () | |
Destructor. | |
Vector () | |
Default constructor. | |
Vector (Subscript N) | |
Construct vector of given size, do not initialize. | |
Vector (const Vector< T > &A) | |
Copy constructor. | |
Vector (Subscript N, const T &value) | |
Constructor which assigns all elements to a particular value. | |
Vector (Subscript N, const std::string &s) | |
Constructor that reads elements from a string. | |
template<class IT> | |
Vector (IT begin, IT end) | |
Create a vector and assign elements from an iterator. | |
Vector< T > & | newsize (Subscript N) |
Resize vector (current elements are not retained). | |
Vector< T > & | operator= (const Vector< T > &A) |
Assignment from vector. | |
Vector< T > & | operator= (const T &scalar) |
Assign all elements to be equal to a scalar. | |
Vector< T > & | operator+= (const Vector< T > &rhs) |
Add vector rhs to vector. | |
Vector< T > & | operator+= (const T &value) |
Add scalar to elements of vector. | |
Vector< T > & | operator-= (const Vector< T > &rhs) |
Subtract vector rhs from vector. | |
Vector< T > & | operator-= (const T &value) |
Subtract scalar from elements of vector. | |
Vector< T > & | operator *= (const Vector< T > &rhs) |
Multiply each element of vector by corresponding element in rhs (element-wise multiply). | |
Vector< T > & | operator *= (const T &value) |
Multiply each element of vector by scalar. | |
Vector< T > & | operator/= (const T &value) |
Divide each element of vector by corresponding element in rhs (element-wise divide). | |
Subscript | dim () const |
Return number of elements in vector. | |
Subscript | size () const |
Return number of elements in vector. | |
reference | operator() (Subscript i) |
One-based subscripting (v(1) returns first element of v). | |
const_reference | operator() (Subscript i) const |
One-based subscripting for constant vector. | |
reference | operator[] (Subscript i) |
Zero-based subscripting (v[0] returns first element of v). | |
const_reference | operator[] (Subscript i) const |
Zero-based subscripting for constant vector. | |
Protected Member Functions | |
void | initialize (Subscript N) |
Allocate storage for vector. | |
void | copy (const T *v) |
Assign elements of vector from array v. | |
void | set (const T &val) |
Set all elements of vector equal to val. | |
void | destroy () |
Release storage allocated for vector. | |
Protected Attributes | |
T * | v_ |
Pointer to contents of vector. | |
T * | vm1_ |
Pointer adjustment for optimizied 1-based indexing. | |
Subscript | n_ |
Number of elements in vector. |
Templated numerical vector class based on Template Numerical Toolkit Vector class. Element access through 0-based [i] and 1-based (i) indexing, and iterators.
This class adds the following to the TNT Matrix class:
Definition at line 99 of file vec.h.
SCPPNT::Vector< T >::Vector | ( | Subscript | N, | |
const std::string & | s | |||
) | [inline] |
Constructor that reads elements from a string.
Constructor that reads elements from a string
N | Number of elements in vector. | |
s | String containing initial elements of matrix in row-major order separated by white space. |
Definition at line 396 of file vec.h.
References SCPPNT::Vector< T >::initialize(), and SCPPNT::Vector< T >::v_.
00397 : 00398 v_(0), vm1_(0), n_(0) 00399 { 00400 initialize(N); 00401 std::istrstream ins(s.c_str()); 00402 00403 Subscript i; 00404 00405 for (i=0; i<N; i++) 00406 ins >> v_[i]; }
Create a vector and assign elements from an iterator.
begin | Iterator pointing to the first element of a sequence of values assigned to elements of the vector created. | |
end | Iterator pointing to one past last element of a sequence of values assigned to elements of the vector created. |
Definition at line 166 of file vec.h.
References SCPPNT::Vector< T >::begin(), and SCPPNT::Vector< T >::initialize().
00166 : 00167 v_(0) 00168 { 00169 #ifndef BOOST_MSVC 00170 // "typename" keyword added (ww, 12-2-2007) 00171 typename std::iterator_traits<IT>::difference_type N = std::distance(begin, end); 00172 #else 00173 // std::iterator_traits<IT>::difference_type does not compile 00174 // with Microsoft Visual C++ 6. 00175 unsigned long N = std::distance(begin, end); 00176 #endif 00177 initialize(N); 00178 00179 iterator i = this->begin(); 00180 while (N--) 00181 { 00182 *i = *begin; 00183 ++i; 00184 ++begin; 00185 } }