|
| vectorL (allocator_type const &alloc=allocator_type()) |
| Default constructor. More...
|
|
| vectorL (vectorL const &v) |
| Copy constructor. More...
|
|
template<ssize_type L_, typename T_ , typename A_ > |
| vectorL (vectorL< L_, T_, A_ > const &v) |
| Assignable copy constructor. More...
|
|
| vectorL (super const &v) |
| std::vector constructor More...
|
|
template<typename T_ , typename A_ > |
| vectorL (std::vector< T_, A_ > const &v) |
| Assignable std::vector constructor. More...
|
|
| vectorL (size_type const num) |
| Size constructor. More...
|
|
| vectorL (size_type const num, value_type const &value, allocator_type const &alloc=allocator_type()) |
| Uniform value constructor. More...
|
|
template<typename InputIterator > |
| vectorL (InputIterator const beg, InputIterator const end, allocator_type const &alloc=allocator_type()) |
| Iterator range constructor. More...
|
|
virtual | ~vectorL () |
| Destructor. More...
|
|
vectorL & | operator= (vectorL const &v) |
| Copy assignment. More...
|
|
template<ssize_type L_, typename T_ , typename A_ > |
vectorL & | operator= (vectorL< L_, T_, A_ > const &v) |
| Assignable copy assignment. More...
|
|
vectorL & | operator= (super const &v) |
| std::vector assignment More...
|
|
template<typename T_ , typename A_ > |
vectorL & | operator= (std::vector< T_, A_ > const &v) |
| Assignable std::vector assignment. More...
|
|
super const & | vector () const |
| std::vector const explicit conversion More...
|
|
super & | vector () |
| std::vector explicit conversion More...
|
|
vectorL & | append (vectorL const &v) |
| Append another vectorL to the back of the vector. More...
|
|
vectorL & | add_back (T const &t) |
| Add an element to the back of the vector. More...
|
|
vectorL & | remove_back () |
| Remove the element at the back of the vector. More...
|
|
void | shrink () |
| Shrink the index map to remove unused capacity. More...
|
|
bool | contains (T const &t) const |
| Check if vector contains a given element. More...
|
|
SSize | index_of (T const &t) |
| Return the index of a given element or exit if not found. More...
|
|
bool | has (index_type const i) const |
| Has an element with an index? More...
|
|
const_reference | operator[] (index_type const i) const |
| vectorL[ i ] const More...
|
|
reference | operator[] (index_type const i) |
| vectorL[ i ] More...
|
|
const_reference | at (index_type const i) const |
| vectorL.at( i ) const More...
|
|
reference | at (index_type const i) |
| vectorL.at( i ) More...
|
|
index_type | l () const |
| Lower index. More...
|
|
index_type | u () const |
| Upper index. More...
|
|
void | swap (vectorL &v) |
| swap( vectorL ) More...
|
|
|
bool | operator== (vectorL const &a, vectorL const &b) |
| vectorL == vectorL More...
|
|
bool | operator!= (vectorL const &a, vectorL const &b) |
| vectorL != vectorL More...
|
|
bool | operator< (vectorL const &a, vectorL const &b) |
| vectorL < vectorL More...
|
|
bool | operator<= (vectorL const &a, vectorL const &b) |
| vectorL <= vectorL More...
|
|
bool | operator>= (vectorL const &a, vectorL const &b) |
| vectorL >= vectorL More...
|
|
bool | operator> (vectorL const &a, vectorL const &b) |
| vectorL > vectorL More...
|
|
bool | operator== (vectorL const &a, super const &b) |
| vectorL == std::vector More...
|
|
bool | operator!= (vectorL const &a, super const &b) |
| vectorL != std::vector More...
|
|
bool | operator< (vectorL const &a, super const &b) |
| vectorL < std::vector More...
|
|
bool | operator<= (vectorL const &a, super const &b) |
| vectorL <= std::vector More...
|
|
bool | operator>= (vectorL const &a, super const &b) |
| vectorL >= std::vector More...
|
|
bool | operator> (vectorL const &a, super const &b) |
| vectorL > std::vector More...
|
|
bool | operator== (super const &a, vectorL const &b) |
| std::vector == vectorL More...
|
|
bool | operator!= (super const &a, vectorL const &b) |
| std::vector != vectorL More...
|
|
bool | operator< (super const &a, vectorL const &b) |
| std::vector < vectorL More...
|
|
bool | operator<= (super const &a, vectorL const &b) |
| std::vector <= vectorL More...
|
|
bool | operator>= (super const &a, vectorL const &b) |
| std::vector >= vectorL More...
|
|
bool | operator> (super const &a, vectorL const &b) |
| std::vector > vectorL More...
|
|
void | swap (vectorL &a, vectorL &b) |
| swap( vectorL, vectorL ) More...
|
|
void | swap (vectorL &a, super &b) |
| swap( vectorL, std::vector ) More...
|
|
void | swap (super &a, vectorL &b) |
| swap( std::vector, vectorL ) More...
|
|
template<platform::SSize, typename T, typename A = std::allocator< T >>
class utility::vectorL< SSize, T, A >
std::vector with L-based indexing
- Note
- std::vector with L-based indexing and a few extras
- Lower index must be in the range of ssize_t
- Index type is std::size_t or ssize_t depending on sign of L
- When L is negative indexing operators can only reach the first max( ssize_t ) element and attempting to index beyond that will trigger an assertion failure
- Can construct and assign from std::vector and swap with std::vector
- Can compare with std::vector: compares contents ignoring indexes
- Can explicitly convert to std::vector
- Private inheritance from std::vector is safe here