std::vector<bool>
Материал из cppreference.com
Определён в заголовочном файле <vector>
|
||
template<class Allocator = std::allocator<bool>> class vector<bool, Allocator>; |
||
std::vector<bool> — компактный специализированный std::vector типа bool.
Способ, которым std::vector<bool> сделан компактным, определяется реализацией. Одной из потенциальных оптимизаций является сливание векторных элементов таким образом, что каждый элемент занимает один бит, а не байт, как обычный элемент типа bool.
std::vector<bool> ведет себя аналогично std::vector, но для того, чтобы быть компактным, он:
- Не обязательно хранит свои данные в одном непрерывном куске памяти.
- Предоставляет std::vector<bool>::reference как метод доступа к отдельным битам.
- Не использует std::allocator_traits::construct чтобы построить битовые значения.
Содержание |
[править] Типы-члены
Тип-член | Определение |
value_type
|
bool |
allocator_type
|
Allocator
|
size_type
|
Определяется реализацией |
difference_type
|
Определяется реализацией |
Прокси-класс, представляющий собой ссылку на один bool (класс) | |
const_reference
|
bool |
pointer
|
Определяется реализацией |
const_pointer
|
Определяется реализацией |
iterator
|
Определяется реализацией |
const_iterator
|
Определяется реализацией |
reverse_iterator
|
std::reverse_iterator<iterator> |
const_reverse_iterator
|
std::reverse_iterator<const_iterator> |
[править] Функции-члены
Создаёт vector (public функция-член std::vector )
| |
Уничтожает vector (public функция-член std::vector )
| |
Задаёт значения в контейнере (public функция-член std::vector )
| |
Задаёт значения в контейнере (public функция-член std::vector )
| |
Возвращает связанный аллокатор (public функция-член std::vector )
| |
Доступ к элементам | |
Предоставляет доступ к указанному элементу с проверкой индекса (public функция-член std::vector )
| |
Предоставляет доступ к указанному элементу (public функция-член std::vector )
| |
Предоставляет доступ к первому элементу (public функция-член std::vector )
| |
предоставляет доступ к последнему элементу (public функция-член std::vector )
| |
Итераторы | |
Возвращает итератор на первый элемент (public функция-член std::vector )
| |
Возвращает итератор на элемент, следующий за последним (public функция-член std::vector )
| |
Возвращает обратный итератор на первый элемент (public функция-член std::vector )
| |
Возвращает обратный итератор на элемент, следующий за последним (public функция-член std::vector )
| |
Объём | |
Проверяет отсутствие элементов в контейнере (public функция-член std::vector )
| |
Возвращает количество элементов в контейнере (public функция-член std::vector )
| |
Возвращает максимально допустимое количество элементов в контейнере (public функция-член std::vector )
| |
Зарезервировать память. (public функция-член std::vector )
| |
Возвращает количество элементов, которые могут одновременно храниться в выделенной области памяти (public функция-член std::vector )
| |
Модификаторы | |
Очищает контейнер (public функция-член std::vector )
| |
Вставляет элементы Оригинал: inserts elements Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член std::vector )
| |
Удаляет элементы (public функция-член std::vector )
| |
добавляет элемент в конец (public функция-член std::vector )
| |
Удаляет последний элемент (public функция-член std::vector )
| |
Изменяет количество хранимых элементов (public функция-член std::vector )
| |
Обменивает содержимое (public функция-член std::vector )
| |
Специфические модификаторы
| |
Заменяет значения в векторе на противоположные (public функция-член) | |
[static] |
Меняет местами два std::vector<bool>::reference (public static функция-член) |
[править] Функции не члены
Лексикографически сравнивает значения в vector (шаблон функции) | |
Специализированный std::swap алгоритм (шаблон функции) |
[править] Примечания
Если размер BitSet известен во время компиляции, может быть использован std::bitset, который предлагает богатый набор функций-членов. Кроме того, как альтернатива std::vector<bool>
, существует boost::dynamic_bitset.