voidassign(size_typen,constT&t);
Эффекты: Присваивает n копий вал к *этому.
Бросает: Если выделение памяти бросит или конструктор копий Т бросит.
Сложность: Линейный к n.
template<typenameInputIterator>
voidassign(InputIteratorfirst,InputIteratorlast);
Эффекты: Назначает диапазон [первый, последний] к *этому.
Бросает: Если выделение памяти бросает или T-конструктор от отсылки InpIt бросает.
Сложность: Линейный к n.
voidassign(std::initializer_list<value_type>il);
Эффекты: Назначает диапазон [il.begin(), il.end()) на *это.
Бросает: Если выделение памяти выбрасывает или T-конструктор из дереференционного инициализатора_список итераторов бросков.
allocator_typeget_allocator()const;
Эффекты: Возвращает копию внутреннего распределителя.
Бросает: Если копировщик распределителя бросит.
Сложность: Постоянная.
conststored_allocator_type&get_stored_allocator()constnoexcept;
Эффекты: Возвращает ссылку на внутренний распределитель.
Броски: Ничто
Сложность: Константа.
Примечание: Нестандартное расширение.
stored_allocator_type&get_stored_allocator()noexcept;
Эффекты: Возвращает ссылку на внутренний распределитель.
Бросает: Ничто
Сложность: Константа.
Примечание: Нестандартное расширение.
iteratorbegin()noexcept;
Эффекты: Возвращает итератор к первому элементу, содержащемуся вstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
const_iteratorbegin()constnoexcept;
Эффекты: Возвращает const_iterator к первому элементу, содержащемуся вstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
iteratorend()noexcept;
Эффекты: Возвращает итератор в конецstable_vector
Бросает: Ничего.
Сложность: Постоянная.
const_iteratorend()constnoexcept;
Эффекты: Возвращает const_iterator к концуstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
reverse_iteratorrbegin()noexcept;
Эффекты: Возвращает обратный_iterator, указывающий на начало обратногоstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
const_reverse_iteratorrbegin()constnoexcept;
Эффекты: Возвращает const_reverse_iterator, указывающий на начало обратногоstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
reverse_iteratorrend()noexcept;
Эффекты: Возвращает обратный_iterator, указывающий на конец обратногоstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
- <
const_reverse_iteratorrend()constnoexcept;
>Эффекты: Возвращает const_reverse_iterator, указывающий на конец обратного<stable_vector
>.
Бросает: Ничего.
Сложность: Постоянная.
const_iteratorcbegin()constnoexcept;
Эффекты: Возвращает const_iterator к первому элементу, содержащемуся вstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
const_iteratorcend()constnoexcept;
Эффекты: Возвращает const_iterator к концуstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
const_reverse_iteratorcrbegin()constnoexcept;
Эффекты: Возвращает const_reverse_iterator, указывающий на начало обратногоstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
const_reverse_iteratorcrend()constnoexcept;
Эффекты: Возвращает const_reverse_iterator, указывающий на конец обратногоstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
boolempty()constnoexcept;
Эффекты: Возвращается, еслиstable_vector
не содержит элементов.
Бросок: Ничего.
Сложность: Постоянно.
size_typesize()constnoexcept;
Эффекты: Возвращает число элементов, содержащихся вstable_vector
.
Бросает: Ничего.
Сложность: Постоянная.
size_typemax_size()constnoexcept;
Эффекты: Возвращает наибольший возможный размерstable_vector
.
Бросает: Ничего.
Сложность: Постоянно.
voidresize(size_typen);
Эффекты: Вставляет или стирает элементы в конце так, что размер становится n. Новые элементы инициализируются.
Бросок: Если распределение памяти бросает, или инициализация значения Т бросает.
Сложность: Линейная разница между размером () и новым размером.
voidresize(size_typen,default_init_t);
Эффекты: Вставляет или стирает элементы в конце так, что размер становится n. Новые элементы инициализируются по умолчанию.
Бросает: Если выделение памяти бросает, или T по умолчанию инициализация бросает.
Сложность: Линейная разница между размером () и новым размером.
Примечание: Нестандартное расширение
voidresize(size_typen,constT&t);
Эффекты: Вставляет или стирает элементы в конце так, что размер становится n. Новые элементы копируются из x.
Броски: Если отбрасывает выделение памяти, или отбрасывает конструктор копий Т.
Сложность: Линейная разница между размером () и новым размером.
size_typecapacity()constnoexcept;
Эффекты: Количество элементов, для которых выделена память. Вместимость () всегда больше или равна размеру ().
Бросок: Ничего.
Сложность: Постоянная.
voidreserve(size_typen);
Эффекты: Если n меньше или равно емкости(), этот вызов не имеет эффекта. В противном случае это запрос на выделение дополнительной памяти. Если запрос является успешным, то емкость () больше или равна n; в противном случае емкость () не изменяется. В любом случае размер() не изменяется.
Бросок: Если выделение памяти отбрасывает.
voidshrink_to_fit();
Эффекты: Пытается справиться с избытком памяти, созданной с помощью предыдущих выделений. Размерstable_vector
не изменился
Бросок: Если отбрасывает память.
Сложность: Линейный размер().
- <
referencefront()noexcept;
>Требует:!empty()
: Возвращает ссылку на первый элемент контейнера.
Бросок:
Сложность: Постоянная.
- <
const_referencefront()constnoexcept;
>Требует:!empty()
: Возвращается ссылка на первый элемент контейнера.
Бросает: Ничего.
Сложность: Постоянная.
referenceback()noexcept;
Требует:!empty()
: Возвращает ссылку на последний элемент контейнера.
Бросает: Ничего.
Сложность: Постоянная.
- <
const_referenceback()constnoexcept;
>Требует:!empty()
Эффекты: Возвращает ссылку на последний элемент контейнера.
Бросок: Ничего.
Сложность: Постоянная.
referenceoperator[](size_typen)noexcept;
Требуется: размер() >n.
Эффекты: Возвращает ссылку на n-й элемент из начала контейнера.
Бросок: Ничего.
Сложность: Постоянная.
const_referenceoperator[](size_typen)constnoexcept;
Требуется: размер() >n.
Эффекты: Возвращает ссылку на n-й элемент из начала контейнера.
Бросок: Ничего.
Сложность: Постоянная.
iteratornth(size_typen)noexcept;
Требует: размер() >= n.
Эффекты: Возвращает итератор к n-му элементу от начала контейнера. Возвращает конец(), если n == размер().
Бросок: Ничего.
Сложность: Константа.
Примечание: Нестандартное расширение
const_iteratornth(size_typen)constnoexcept;
Требуется: размер() >= n.
Эффекты: Возвращает const_iterator к n-му элементу с начала контейнера. Возвращает конец(), если n == размер().
Бросает: Ничего.
Сложность: Константа.
Примечание: Нестандартное расширение
size_typeindex_of(iteratorp)noexcept;
Требуется: start()<= p<= end().
: Возвращает индекс элемента, указываемого p и размером(), если p == конец().
Бросает: Ничего.
Сложность: Постоянная.
Примечание: Нестандартное расширение
size_typeindex_of(const_iteratorp)constnoexcept;
Требуется: start()<= p<= end().
Эффекты: Возвращает индекс элемента, указанный p и размером(), если p == конец().
Бросок: Ничего.
Сложность: Константа.
Примечание: Нестандартное расширение
referenceat(size_typen);
Требует: размер() >n.
Эффекты: Возвращает ссылку на n-й элемент из начала контейнера.
Бросок: Разработчик:range_error если n>= размер()
Сложность: Постоянная.
const_referenceat(size_typen)const;
Требует: размер() >n.
Эффекты: Возвращает ссылку на n-й элемент из начала контейнера.
Бросок: Разработчик:range_error если n>= размер()
Сложность: Постоянная.
template<class...Args>referenceemplace_back(Args&&...args);
Эффекты: Вставляет объект типа Т, построенный с помощью std::forward(args)... в концеstable_vector
.
Возвращение: Ссылка на созданный объект.
Бросает: Если распределение памяти бросает или конструктор на месте бросает.
Сложность: Амортизированное постоянное время.
template<class...Args>iteratoremplace(const_iteratorp,Args&&...args);
Требуется: p должен быть действительным итератором *этого.
Эффекты: Вставляется объект типа Т, построенный с помощью std::forward(args)... до p
Бросает: Если распределение памяти бросает или конструктор на месте бросает.
Сложность: Если p - конец (), амортизированное постоянное время Линейное время в противном случае.
voidpush_back(constT&x);
Эффекты: Вставить копию x в концеstable_vector
.
Бросок: Если выделение памяти бросит или конструктор копий Т бросит.
Сложность: Амортизированное постоянное время.
voidpush_back(T&&x);
Эффекты: Конструирует новый элемент в конце 1125 и перемещает ресурсы x в этот новый элемент.
Бросок: Если выделение памяти бросает.
Сложность: Амортизированное постоянное время.
iteratorinsert(const_iteratorp,constT&x);
Требуется: p должен быть действительным итератором этого.
Эффекты: Вставить копию x перед p.
Возвращение: Итератор вставленного элемента.
Бросает: Если выделение памяти бросает или копирует конструктор x.
Сложность: Если p - конец (), амортизированное постоянное время Линейное время в противном случае.
iteratorinsert(const_iteratorp,T&&x);
Требуется: p должен быть действительным итератором этого.
Эффекты: Вставьте новый элемент перед p с ресурсами x.
Возвращает: итератор на вставленный элемент.
Броски: Если выделение памяти бросает.
Сложность: Если p - конец (), амортизированное постоянное время Линейное время в противном случае.
iteratorinsert(const_iteratorp,size_typen,constT&t);
Требуется: p должен быть действительным итератором этого.
Эффекты: Вставить n копий x перед p.
Возвращение: итератор первого вставленного элемента или p, если n равно 0.
Бросает: Если выделение памяти бросит или конструктор копий Т бросит.
Сложность: Линейный к n.
iteratorinsert(const_iteratorp,std::initializer_list<value_type>il);
Требуется: p должен быть действительным итератором этого.Требуется: p должен быть действительным итератором этого.
Эффекты: Включить копию диапазона [il.begin(), il.end()) до p.
Возвращение: итератор первого вставленного элемента или p, если первый == последний.
Сложность: Линейное расстояние [il.begin(), il.end()).
template<typenameInputIterator>
iteratorinsert(const_iteratorp,InputIteratorfirst,InputIteratorlast);
Требуется:
: Вставить копию [первого, последнего] диапазона перед p.
Возвращение: итератор первого вставленного элемента или p, если первый == последний.
Бросает: Если выделение памяти бросает, то T-конструктор из отнесенного к делу InpIt бросает или T-конструктор копирования бросает.
Сложность: Линейное расстояние (первое, последнее).
voidpop_back()noexcept;
Эффекты: Удаляет последний элемент изstable_vector
.
Бросает: Ничего.
Сложность: Постоянное время.
iteratorerase(const_iteratorp)noexcept;
Эффекты: Стирает элемент по п.
Бросает: Ничего.
Сложность: Линейные элементы между p и последним элементом. Постоянная, если p - последний элемент.
iteratorerase(const_iteratorfirst,const_iteratorlast)noexcept;
Эффекты: Стирает элементы, указанные [первым, последним].
Бросок: Ничего.
Сложность: Линейное расстояние между первым и последним плюс линейное к элементам между р и последним элементом.
voidswap(stable_vector&x)noexcept(allocator_traits_type::propagate_on_container_swap::value||allocator_traits_type::is_always_equal::value));
Эффекты: Изменяет содержание *это и x.
Бросает: Ничего.
Сложность: Постоянная.
voidclear()noexcept;
Эффекты: Стирает все элементыstable_vector
.
Бросает: Ничего.
Сложность: Линейное число элементов вstable_vector
.