Sequence containers

Conception

The Sequential containers are in their turn divided into two major groups:

A Static container interface provides an interface to iterate and access to the elements the amount of which is not changed during container’s object life time. But the Dynamic container interface extends the Static container interface by an ability to modify quantity of the elements by inserting and erasing them from/to the container.
The Dynamic::Array container interface is an extention of the Dynamic container and exposes an interface to the specific functionality of the array-like dynamic containers.
Both the Static and Dynamic container interfaces extend the Forward functionality by ability to access and modify the container in the Reverse manner.

Container Interface
Static Iterate
from
[Const::][Reverse::]Iterator
[c][r]begin()
[c][r]end()
[const]
Access to [Const::]Iterator::Return::Type front()
back()
at(Int index) [const]
operator[](Int index) [const]
Dynamic Where to insert What to insert
At position [Const::][Reverse::]Iterator insert(const [Const::][Reverse::]Iterator &,
Type && | const Type & | Type & |
UInt count, const Type & | const Range/Contaner & |
const RangeIterator &first, const RangeIterator &last)
At back Void pushBack(
At front Void pushFront(
Replace entirely Container & assign(
Construct a new Container(
Were to erase What to erase
At position/range Void erase( const [Const::][Reverse::]Iterator &[, const [Const::][Reverse::]Iterator &]|
const Range &)
At back Void popBack(
At front Void popFront(
Entirely Void clear()
Dynamic::Array Void [set|ensure][Front|Back]Capacity ([UInt front][[,] UInt back])
Void shrinkToFit()

There are several containers which implement the Static/Dynamic container conception as depicted above:

Extended member map

Operations Static Dynamic
Containers Containers Adaptors
Range Static:: Weak::
Array
Unique::
Array
Forward::
List
List Vector Deque Ring:: COW SCO
Weak::
Array
Unique::
Array
Vector Deque
Static Types
typename Type
typename Iterator
typename Reverse::Iterator
typename Const::Iterator
typename Const::Reverse::Iterator
Iteration
Iterator begin()
Iterator end ()
Const::Iterator begin() const
Const::Iterator end () const
Const::Iterator cbegin() const
Const::Iterator cend () const
Reverse::Iterator rbegin()
Reverse::Iterator rend ()
Const::Reverse::Iterator rbegin() const
Const::Reverse::Iterator rend () const
Const::Reverse::Iterator crbegin() const
Const::Reverse::Iterator crend () const
Capacity
UInt size() const
Bool empty() const
Element
access
Iterator::Return::Type front()
Const::Iterator::Return::Type front() const
Iterator::Return::Type back()
Const::Iterator::Return::Type back() const
Iterator::Return::Type at(Int index)
Const::Iterator::Return::Type at(Int index) const
Iterator::Return::Type operator[](Int index)
Const::Iterator::Return::Type operator[](Int index) const
Comparison
template <typename U>
Bool
operator == (const U &u) const
template <typename U>
Bool
operator != (const U &u) const
template <typename Range>
Bool
equal(const Range &range) const
template <typename How,
typename Range>
Bool
equal(const Range &range, const How &how = How()) const
template <typename How,
typename Iterator>
Bool
equal(const Iterator &begin, const Iterator &end, const How &how = How()) const
Relational
template <typename U>
Int
operator – (const U &u) const
template <typename U>
Bool
operator > (const U &u) const
template <typename U>
Bool
operator >= (const U &u) const
template <typename U>
Bool
operator < (const U &u) const
template <typename U>
Bool
operator <= (const U &u) const
template <typename Range>
Int
different(const Range &range) const
template <typename How,
typename Range>
Int
different(const Range &range, const How &how = How()) const
template <typename How,
typename Iterator>
Int
different(const Iterator &begin, const Iterator &end, const How &how = How()) const
Dynamic Capacity
UInt maxSize() const
UInt capacity() const
Void resize(UInt size, const Type &value = Type()) const
Modifiers
template <typename Iterator>
Iterator
insert(const Iterator &iterator, Type &&value)
template <typename Iterator>
Iterator
insert(const Iterator &iterator, const Type &value)
template <typename Iterator>
Iterator
insert(const Iterator &iterator, Type &value)
template <typename Iterator>
Iterator
insert(const Iterator &iterator, UInt count, const Type &value)
template <typename Iterator,
typename Range>
Iterator
insert(const Iterator &iterator, const Range &range)
template <typename Iterator,
typename RangeIterator>
Iterator
insert(const Iterator &iterator, const RangeIterator &first, const RangeIterator &last)
template <typename Iterator>
Iterator
insert(const Iterator &iterator, const LWF::Initializer::List &list)
template <typename Iterator>
Iterator
erase(const Iterator &iterator)
template <typename Iterator>
Iterator
erase(const Iterator &first, const Iterator& last)
template <typename Range>
typename Range::Iterator
erase(const Range &range)
Void clear()
Void pushFront(Type &&value)
Void pushFront(const Type &value)
Void pushFront(Type &value)
Void pushFront(UInt count, const Type &value)
template <typename Range>
Void
pushFront(const Range &range)
template <typename RangeIterator>
Void
pushFront(const RangeIterator &first, const RangeIterator &last)
Void pushFront(const LWF::Initializer::List &list)
Void popFront()
Void pushBack(Type &&value)
Void pushBack(const Type &value)
Void pushBack(Type &value)
Void pushBack(UInt count, const Type &value)
template <typename Range>
Void
pushBack(const Range &range)
template <typename RangeIterator>
Void
pushBack(const RangeIterator &first, const RangeIterator &last)
Void pushBack(const LWF::Initializer::List &list)
Void popBack()
Container & assign(Type &&value)
Container & assign(const Type &value)
Container & assign(Type &value)
Container & assign(UInt count, const Type &value)
template <typename Range>
Container &
assign(const Range &range)
template <typename RangeIterator>
Container &
assign(const RangeIterator &first, const RangeIterator &last)
Container & assign(const LWF::Initializer::List &list)
template <typename Iterator>
Void
swap(const Iterator &one, const Iterator& other)
Void swap(Container &container)
Dynamic::
Array
Capacity
Void shrinkToFit()
Void ensureCapacity(UInt front, UInt back)
Void ensureFrontCapacity(UInt front)
Void ensureBackCapacity(UInt back)
Void setCapacity(UInt front, UInt back)
Void setFrontCapacity(UInt front)
Void setBackCapacity(UInt back)
Dynamic::
Ring::
Array
Capacity
Void ensureCapacity(UInt capacity)
Void setCapacity(UInt capacity)