DCMTK
Version 3.6.7
OFFIS DICOM Toolkit
|
this is a resizable array. More...
Public Types | |
typedef T | value_type |
the type of elements that this OFVector stores | |
typedef size_t | size_type |
the type used for sizes and indexes | |
typedef T * | iterator |
the type of mutable iterators on this object | |
typedef const T * | const_iterator |
the type of constant iterators on this object | |
typedef T & | reference |
the type of mutable references on this object | |
typedef const T & | const_reference |
the type of constant references on this object | |
Public Member Functions | |
OFVector () | |
default constructor. More... | |
OFVector (const OFVector &other) | |
copy constructor. More... | |
OFVector (size_type n, const T &v=T()) | |
construct an OFVector with predefined content. More... | |
OFVector (const_iterator from, const_iterator to) | |
construct an OFVector from a range of iterators. More... | |
~OFVector () | |
destructor. More... | |
OFVector & | operator= (const OFVector &other) |
assignment operator. More... | |
void | swap (OFVector &other) |
swap this vector's content with some other vector. More... | |
iterator | begin () |
get an iterator for the first element in this object. More... | |
const_iterator | begin () const |
get an iterator for the first element in this object. More... | |
iterator | end () |
get an iterator that points past the last valid object. More... | |
const_iterator | end () const |
get an iterator that points past the last valid object. More... | |
size_type | size () const |
get the size of this OFVector. More... | |
OFBool | empty () const |
check whether this OFVector is empty. More... | |
void | clear () |
clear this OFVector. More... | |
void | erase (iterator it) |
removes an entry from this OFVector. More... | |
iterator | insert (iterator it, const T &v) |
insert an entry in this OFVector. More... | |
template<class InputIterator > | |
void | insert (iterator it, InputIterator from, InputIterator to) |
insert a range of elements in this OFVector. More... | |
T & | front () |
get a reference to the first element of this vector. More... | |
const T & | front () const |
get a reference to the first element of this vector. More... | |
T & | back () |
get a reference to the last element of this vector. More... | |
const T & | back () const |
get a reference to the last element of this vector. More... | |
void | push_back (const T &v) |
insert an entry at the end of this object More... | |
void | pop_back () |
remove the last entry in this object | |
T & | operator[] (size_type i) |
access an entry by index. More... | |
const T & | operator[] (size_type i) const |
access an entry by index. More... | |
T & | at (size_type i) |
access an entry by index. More... | |
const T & | at (size_type i) const |
access an entry by index. More... | |
void | resize (size_type n, T v=T()) |
resize this OFVector. More... | |
void | reserve (size_type n) |
reserves enough space for the given number of elements. More... | |
Protected Attributes | |
T * | values_ |
array that is used for storing the entries in this OFVector | |
size_type | allocated_ |
the size for which values_ was allocated | |
size_type | size_ |
the number of valid entries in values_. More... | |
this is a resizable array.
You can add and remove elements after it was created and this class will handle all the memory management needed. This implements parts of std::vector's features.
default constructor.
This creates an empty OFVector.
copy constructor.
other | OFVector from which all elements are copied |
References OFVector< T >::begin(), OFVector< T >::end(), OFVector< T >::push_back(), OFVector< T >::reserve(), and OFVector< T >::size().
construct an OFVector with predefined content.
n | number of elements that this OFVector should have. |
v | The value used for all elements. |
References OFVector< T >::reserve(), and OFVector< T >::resize().
|
inline |
construct an OFVector from a range of iterators.
from | first iterator to include |
to | first iterator that should not be included anymore |
References OFVector< T >::push_back(), and OFVector< T >::reserve().
access an entry by index.
i | index of the element to return |
References OFVector< T >::size_.
access an entry by index.
i | index of the element to return |
References OFVector< T >::size_.
|
inline |
get a reference to the last element of this vector.
References OFVector< T >::size_, and OFVector< T >::values_.
|
inline |
get a reference to the last element of this vector.
References OFVector< T >::size_, and OFVector< T >::values_.
get an iterator for the first element in this object.
References OFVector< T >::values_.
Referenced by OFVector< T >::OFVector(), OFVector< T >::erase(), OFVector< T >::insert(), and OFVector< T >::operator=().
|
inline |
get an iterator for the first element in this object.
References OFVector< T >::values_.
|
inline |
clear this OFVector.
The existing content will be freed and all iterators become invalid.
References OFVector< T >::allocated_, OFVector< T >::reserve(), OFVector< T >::size_, and OFVector< T >::values_.
Referenced by DSRListOfItems< T >::getItems(), and OFVector< T >::operator=().
|
inline |
check whether this OFVector is empty.
References OFVector< T >::size_.
get an iterator that points past the last valid object.
References OFVector< T >::size_, and OFVector< T >::values_.
Referenced by OFVector< T >::OFVector(), OFVector< T >::operator=(), OFVector< T >::pop_back(), and OFVector< T >::push_back().
|
inline |
get an iterator that points past the last valid object.
References OFVector< T >::size_, and OFVector< T >::values_.
removes an entry from this OFVector.
All iterators pointing to the element removed or elements that come behind it in this OFVector will become invalid.
it | iterator for the entry that should be removed. |
References OFVector< T >::begin(), OFVector< T >::size_, and OFVector< T >::values_.
Referenced by OFVector< T >::pop_back().
|
inline |
get a reference to the first element of this vector.
References OFVector< T >::values_.
|
inline |
get a reference to the first element of this vector.
References OFVector< T >::values_.
insert an entry in this OFVector.
All iterators for this OFVector become invalid.
it | the new element will be inserted in front of the element to which this iterator points. |
v | the element to insert |
References OFVector< T >::allocated_, OFVector< T >::begin(), OFVector< T >::reserve(), OFVector< T >::size_, and OFVector< T >::values_.
Referenced by OFVector< T >::insert(), and OFVector< T >::push_back().
|
inline |
insert a range of elements in this OFVector.
All iterators for this OFVector become invalid.
it | the new elements will be inserted in front of the element to which this iterator points. |
from | iterator to the beginning of the range to insert. |
to | iterator past the end of the range to insert. |
References OFVector< T >::insert().
assignment operator.
All elements from this object are removed and then a copy of other is made. All iterators to this object will become invalid.
other | OFVector instance to copy elements from. |
References OFVector< T >::begin(), OFVector< T >::clear(), OFVector< T >::end(), OFVector< T >::push_back(), OFVector< T >::reserve(), and OFVector< T >::size().
access an entry by index.
undefined behavior occurs when the index is out of bounds (bigger than the maximum allowed index).
i | index of the element to return |
References OFVector< T >::values_.
access an entry by index.
undefined behavior occurs when the index is out of bounds (bigger than the maximum allowed index).
i | index of the element to return |
References OFVector< T >::values_.
|
inline |
insert an entry at the end of this object
v | the value to insert |
References OFVector< T >::end(), and OFVector< T >::insert().
Referenced by OFVector< T >::OFVector(), DSRListOfItems< T >::getItems(), OFVector< T >::operator=(), and dcmtk::log4cplus::helpers::tokenize().
reserves enough space for the given number of elements.
from now on, no memory allocations will occur as long as this OFVector's size stays below n and clear() is not called.
n | the number of elements for which space should be reserved. |
References OFVector< T >::allocated_, OFVector< T >::size_, and OFVector< T >::values_.
Referenced by OFVector< T >::OFVector(), OFVector< T >::clear(), DSRListOfItems< T >::getItems(), OFVector< T >::insert(), OFVector< T >::operator=(), and OFVector< T >::resize().
resize this OFVector.
after this call, size() will be n.
n | the new size that this object should use |
v | if any new elements need to be inserted, they get this value. |
References OFVector< T >::reserve(), OFVector< T >::size_, and OFVector< T >::values_.
Referenced by OFVector< T >::OFVector().
get the size of this OFVector.
References OFVector< T >::size_.
Referenced by OFVector< T >::OFVector(), and OFVector< T >::operator=().
swap this vector's content with some other vector.
All iterators will stay valid.
other | object to swap with |
References OFVector< T >::allocated_, OFVector< T >::size_, and OFVector< T >::values_.
the number of valid entries in values_.
elements past this index have undefined content.
Referenced by OFVector< T >::at(), OFVector< T >::back(), OFVector< T >::clear(), OFVector< T >::empty(), OFVector< T >::end(), OFVector< T >::erase(), OFVector< T >::insert(), OFVector< T >::reserve(), OFVector< T >::resize(), OFVector< T >::size(), and OFVector< T >::swap().