CppAD: A C++ Algorithmic Differentiation Package
20130102
|
A vector class with Type element that does not use element constructors or destructors when Type is Plain Old Data (pod). More...
Public Member Functions | |
pod_vector (size_t max_length=std::numeric_limits< size_t >::max()) | |
Constructors set capacity, length, and data to zero. | |
~pod_vector (void) | |
Destructor: returns allocated memory to thread_alloc ; see extend . If this is not plain old data, the destructor for each element is called. | |
size_t | size (void) const |
current number of elements in this vector. | |
size_t | capacity (void) const |
current capacity (amount of allocated storage) for this vector. | |
Type * | data (void) |
current data pointer, no longer valid after any of the following: extend, erase, operator=, and ~pod_vector. Take extreem care when using this function. | |
const Type * | data (void) const |
const version of data pointer | |
size_t | extend (size_t n) |
Increase the number of elements the end of this vector. | |
Type & | operator[] (size_t i) |
non-constant element access; i.e., we can change this element value | |
const Type & | operator[] (size_t i) const |
constant element access; i.e., we cannot change this element value | |
void | erase (void) |
Remove all the elements from this vector but leave the capacity and data pointer as is. | |
void | free (void) |
Remove all the elements from this vector and delete its memory. | |
void | operator= (const pod_vector &x) |
vector assignment operator If the resulting length of the vector would be more than max_length_ , and NDEBUG is not defined, a CPPAD_ASSERT is generated. | |
void | swap (pod_vector &other) |
Swap all properties of this vector with another. | |
Private Member Functions | |
pod_vector (const pod_vector &) | |
do not use the copy constructor | |
Private Attributes | |
size_t | max_length_ |
maximum number of elements that should ever be in this vector | |
size_t | length_ |
number of elements currently in this vector | |
size_t | capacity_ |
maximum number of Type elements current allocation can hold | |
Type * | data_ |
pointer to the first type elements (not defined and should not be used when capacity_ = 0) |
A vector class with Type element that does not use element constructors or destructors when Type is Plain Old Data (pod).
Definition at line 54 of file pod_vector.hpp.