Quick Links: |
#include <bslstl_vector.h>
Public Types | |
typedef VALUE_TYPE * | value_type |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef VALUE_TYPE ** | iterator |
typedef VALUE_TYPE *const * | const_iterator |
typedef std::size_t | size_type |
typedef std::ptrdiff_t | difference_type |
typedef ALLOCATOR | allocator_type |
typedef ALLOCATOR::pointer | pointer |
typedef ALLOCATOR::const_pointer | const_pointer |
typedef bsl::reverse_iterator < iterator > | reverse_iterator |
typedef bsl::reverse_iterator < const_iterator > | const_reverse_iterator |
Public Member Functions | |
vector () BSLS_KEYWORD_NOEXCEPT | |
vector (const ALLOCATOR &basicAllocator) BSLS_KEYWORD_NOEXCEPT | |
vector (size_type initialSize, const ALLOCATOR &basicAllocator=ALLOCATOR()) | |
vector (size_type initialSize, VALUE_TYPE *value, const ALLOCATOR &basicAllocator=ALLOCATOR()) | |
template<class INPUT_ITER > | |
vector (INPUT_ITER first, INPUT_ITER last, const ALLOCATOR &basicAllocator=ALLOCATOR()) | |
vector (const vector &original) | |
vector (BloombergLP::bslmf::MovableRef< vector > original) BSLS_KEYWORD_NOEXCEPT | |
vector (const vector &original, const typename type_identity< ALLOCATOR >::type &basicAllocator) | |
vector (BloombergLP::bslmf::MovableRef< vector > original, const typename type_identity< ALLOCATOR >::type &basicAllocator) | |
vector (std::initializer_list< VALUE_TYPE * > values, const ALLOCATOR &basicAllocator=ALLOCATOR()) | |
~vector () | |
vector & | operator= (const vector &rhs) |
vector & | operator= (BloombergLP::bslmf::MovableRef< vector< VALUE_TYPE *, ALLOCATOR > > rhs) BSLS_KEYWORD_NOEXCEPT_SPECIFICATION(BSLS_KEYWORD_NOEXCEPT_OPERATOR(d_impl |
vector & | operator= (std::initializer_list< VALUE_TYPE * > values) |
void | assign (std::initializer_list< VALUE_TYPE * > values) |
template<class INPUT_ITER > | |
void | assign (INPUT_ITER first, INPUT_ITER last) |
void | assign (size_type numElements, VALUE_TYPE *value) |
iterator | begin () BSLS_KEYWORD_NOEXCEPT |
iterator | end () BSLS_KEYWORD_NOEXCEPT |
reverse_iterator | rbegin () BSLS_KEYWORD_NOEXCEPT |
reverse_iterator | rend () BSLS_KEYWORD_NOEXCEPT |
reference | operator[] (size_type position) |
reference | at (size_type position) |
reference | front () |
reference | back () |
VALUE_TYPE ** | data () BSLS_KEYWORD_NOEXCEPT |
void | resize (size_type newLength) |
void | resize (size_type newLength, VALUE_TYPE *value) |
void | reserve (size_type newCapacity) |
void | shrink_to_fit () |
value_type & | emplace_back () |
value_type & | emplace_back (VALUE_TYPE *ptr) |
void | push_back (VALUE_TYPE *value) |
void | pop_back () |
iterator | emplace (const_iterator position) |
iterator | emplace (const_iterator position, VALUE_TYPE *ptr) |
iterator | insert (const_iterator position, VALUE_TYPE *value) |
iterator | insert (const_iterator position, size_type numElements, VALUE_TYPE *value) |
template<class INPUT_ITER > | |
iterator | insert (const_iterator position, INPUT_ITER first, INPUT_ITER last) |
iterator | insert (const_iterator position, std::initializer_list< VALUE_TYPE * > values) |
iterator | erase (const_iterator position) |
iterator | erase (const_iterator first, const_iterator last) |
void | swap (vector< VALUE_TYPE *, ALLOCATOR > &other) BSLS_KEYWORD_NOEXCEPT_SPECIFICATION(BSLS_KEYWORD_NOEXCEPT_OPERATOR(d_impl.swap(other.d_impl))) |
void | clear () BSLS_KEYWORD_NOEXCEPT |
allocator_type | get_allocator () const BSLS_KEYWORD_NOEXCEPT |
size_type | max_size () const BSLS_KEYWORD_NOEXCEPT |
const_iterator | begin () const BSLS_KEYWORD_NOEXCEPT |
const_iterator | cbegin () const BSLS_KEYWORD_NOEXCEPT |
const_iterator | end () const BSLS_KEYWORD_NOEXCEPT |
const_iterator | cend () const BSLS_KEYWORD_NOEXCEPT |
const_reverse_iterator | rbegin () const BSLS_KEYWORD_NOEXCEPT |
const_reverse_iterator | crbegin () const BSLS_KEYWORD_NOEXCEPT |
const_reverse_iterator | rend () const BSLS_KEYWORD_NOEXCEPT |
const_reverse_iterator | crend () const BSLS_KEYWORD_NOEXCEPT |
size_type | size () const BSLS_KEYWORD_NOEXCEPT |
size_type | capacity () const BSLS_KEYWORD_NOEXCEPT |
bool | empty () const BSLS_KEYWORD_NOEXCEPT |
const_reference | operator[] (size_type position) const |
const_reference | at (size_type position) const |
const_reference | front () const |
const_reference | back () const |
VALUE_TYPE *const * | data () const BSLS_KEYWORD_NOEXCEPT |
Friends | |
bool | operator== (const vector &lhs, const vector &rhs) |
bool | operator!= (const vector &lhs, const vector &rhs) |
bool | operator< (const vector &lhs, const vector &rhs) |
bool | operator> (const vector &lhs, const vector &rhs) |
bool | operator<= (const vector &lhs, const vector &rhs) |
bool | operator>= (const vector &lhs, const vector &rhs) |
void | swap (vector &a, vector &b) BSLS_KEYWORD_NOEXCEPT_SPECIFICATION(BSLS_KEYWORD_NOEXCEPT_OPERATOR(a.d_impl.swap(b.d_impl))) |
This partial specialization of vector
for pointer types to a (template parameter) VALUE_TYPE
type is implemented in terms of vector<UintPtr>
to reduce the amount of code generated. Note that this specialization rebinds the (template parameter) ALLOCATOR
type to an allocator of UintPtr
so as to satisfy the invariant in the vector
base class. Note that the contract for all members is the same as the primary template, so documentation is not repeated to avoid accidentally introducing inconsistency over time.