Чтение онлайн

на главную - закладки

Жанры

РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)

Менг Ли

Шрифт:

 const_reference operator[](size_type n) const;

 reference front;

 const_reference front const;

 reference back;

 const_reference back const;

 // вставка/стирание (insert/irase):

 void push_back(const bool& x);

 iterator insert(iterator position, const bool& x = bool);

 void insert(iterator position, size_type n, const bool& x);

 template ‹class InputIterator›

 void insert(iterator position, InputIterator first, InputIterator last);

 void pop_back;

 void erase(iterator position);

 void erase(iterator first, iterator last);

};

void swap(vector‹bool, allocator›::reference x, vector‹bool, allocator›::reference y);

bool operator==(const vector‹bool, allocator›& x, const vector‹bool, allocator›& y);

bool operator‹(const vector‹bool, allocator›& x, const vector‹bool, allocator›& y);

reference -

класс, который имитирует поведение ссылок отдельного бита в vector‹bool›.

Ожидается, что каждое исполнение обеспечит определение vector‹bool› для всех поддерживаемых моделей памяти.

Сейчас невозможно шаблонизировать определение. То есть мы не можем написать:

template ‹template ‹class U› class Allocator = allocator›

class vector‹bool, Allocator› {/*… */};

Поэтому обеспечивается только vector‹bool, Allocator›.

Список (List)

list - вид последовательности, которая поддерживает двунаправленные итераторы и позволяет операции вставки и стирания с постоянным временем в любом месте последовательности, с управлением памятью, обрабатываемым автоматически. В отличие от векторов и двусторонних очередей, быстрый произвольный доступ к элементам списка не поддерживается, но многим алгоритмам, во всяком случае, только и нужен последовательный доступ.

template ‹class T, template ‹class U› class Allocator = allocator›

class list {

public:

 // определения типов:

 typedef iterator;

 typedef const_iterator;

 typedef Allocator‹T›::pointer pointer;

 typedef Allocator‹T›::reference reference;

 typedef Allocator‹T›::const_reference const_reference;

 typedef size_type;

 typedef difference_type;

 typedef Т value_type;

 typedef reverse_iterator;

 typedef const_reverse_iterator;

 //
размещение/удаление:

 list

 list(size_type n, const T& value = T);

 template ‹class InputIterator›

 list(InputIterator first, InputIterator last);

 list(const list‹T, Allocator›& x);

 ~list;

 list‹T, Allocator›& operator=(const list‹T,Allocator›& x);

 void swap(list‹T, Allocator& x);

 // средства доступа:

 iterator begin;

 const_iterator begin const;

 iterator end;

 const_iterator end const;

 reverse_iterator rbegin;

 const_reverse_iterator rbegin;

 reverse_iterator rend;

 const_reverse_iterator rend;

 bool empty const;

 size_type size const;

 size_type max_size const;

 reference front;

 const_reference front const;

 reference back;

 const_reference back const;

 // вставка/стирание:

 void push_front(const T& x);

 void push_back(const T& x);

 iterator insert(iterator position, const T& x = T);

 void insert(iterator position, size_type n, const T& x);

 template ‹class InputIterator›

 void insert(iterator position, InputIterator first, InputIterator last);

 void pop_front;

 void pop_back;

 void erase(iterator position);

 void erase(iterator first, iterator last);

 // специальные модифицирующие операции cо списком:

 void splice(iterator position, list‹T, Allocator›& x);

 void splice(iterator position, list‹T, Allocator›& x, iterator i);

 void splice(iterator position, list‹T, Allocator›& x, iterator first, iterator last);

 void remove(const T& value);

 template ‹class Predicate›

 void remove_if(Predicate pred);

 void unique;

 template ‹class BinaryPredicate›

Поделиться:
Популярные книги

Вечный. Книга IV

Рокотов Алексей
4. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга IV

Альмар. Мой новый мир. Дилогия

Ищенко Геннадий Владимирович
Альмир
Фантастика:
фэнтези
попаданцы
8.09
рейтинг книги
Альмар. Мой новый мир. Дилогия

Идеальный мир для Лекаря 15

Сапфир Олег
15. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 15

Газлайтер. Том 19

Володин Григорий Григорьевич
19. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 19

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Страж Тысячемирья

Земляной Андрей Борисович
5. Страж
Фантастика:
боевая фантастика
альтернативная история
фэнтези
5.00
рейтинг книги
Страж Тысячемирья

Кристалл Альвандера

Садов Сергей Александрович
1. Возвращенные звезды
Фантастика:
научная фантастика
9.20
рейтинг книги
Кристалл Альвандера

Кодекс Крови. Книга ХII

Борзых М.
12. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Крови. Книга ХII

Законы Рода. Том 11

Андрей Мельник
11. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 11

Черный дембель. Часть 2

Федин Андрей Анатольевич
2. Черный дембель
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Черный дембель. Часть 2

Хроники хвостатых: Ну мы же биджу...

Rana13
Фантастика:
фэнтези
5.00
рейтинг книги
Хроники хвостатых: Ну мы же биджу...

Ваше Сиятельство 7

Моури Эрли
7. Ваше Сиятельство
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Ваше Сиятельство 7

Стратегия обмана. Трилогия

Ванина Антонина
Фантастика:
боевая фантастика
5.00
рейтинг книги
Стратегия обмана. Трилогия

Одержимый

Поселягин Владимир Геннадьевич
4. Красноармеец
Фантастика:
боевая фантастика
5.00
рейтинг книги
Одержимый