- <voidpush_back(referencevalue); >Требуется: Значение должно быть значением l. Эффекты: Вставьте значение в заднюю часть списка. Копирование конструкторов не называется. Бросок: Ничего. Сложность: Константа. Примечание: Не влияет на достоверность итераторов и ссылок. 
- <voidpush_front(referencevalue); >Требуется: Эффекты: Вставляет значение в передней части списка. Копирование конструкторов не называется. Бросок: Ничего. Сложность: Постоянная. Примечание: Не влияет на достоверность итераторов и ссылок. 
- <voidpop_back(); >Эффекты: Стирает последний элемент списка. Разрушители не называются. Броски: Ничего. Сложность: Константа. Примечание: Инвалидирует итераторы (но не ссылки) на стертый элемент. 
- <template<typenameDisposer>voidpop_back_and_dispose(Disposerdisposer); >Требует: Диспетчер::оператор()(указатель) не должен бросать. Эффекты: Стирает последний элемент списка. Деструкторы не называются. Диспозитор::оператор()(указатель) вызывается для удаленного элемента. Бросок: Ничего. Сложность: Константа. Примечание: Инвалидирует итераторы к стертому элементу. 
- <voidpop_front(); >Эффекты: Стирает первый элемент списка. Деструкторы не называются. Бросок: Ничего. Сложность: Константа. Примечание: Инвалидирует итераторы (но не ссылки) на стертый элемент. 
- <template<typenameDisposer>voidpop_front_and_dispose(Disposerdisposer); >Требует: Диспетчер::оператор()(указатель) не должен бросать. Эффекты: Стирает первый элемент списка. Деструкторы не называются. Диспозитор::оператор()(указатель) вызывается для удаленного элемента. Бросок: Ничего. Сложность: Константа. Примечание: Инвалидирует итераторы к стертому элементу. 
- <referencefront(); >Эффекты: Возвращает ссылку на первый элемент списка. Бросок: Ничего. Сложность: Постоянная. 
- <const_referencefront()const; >Эффекты: Возвращает ссылку на первый элемент списка. Бросает: Ничего. Сложность: Постоянная. 
- <referenceback(); >Эффекты: Возвращает ссылку на последний элемент списка. Бросает: Ничего. Сложность: Постоянная. 
- <const_referenceback()const; >Эффекты: Возвращает ссылку на последний элемент списка. Бросок: Ничего. Сложность: Постоянно. 
- <iteratorbegin(); >Эффекты: Возвращает итератор к первому элементу, содержащемуся в списке. Бросок: Ничего. Сложность: Постоянство. 
- <const_iteratorbegin()const; >Эффекты: Возвращает const_iterator к первому элементу в списке. Бросок: Ничего. Сложность: Постоянно. 
- <const_iteratorcbegin()const; >Эффекты: Возвращает const_iterator к первому элементу в списке. Бросок: Ничего. Сложность: Постоянная. 
- <iteratorend(); >Эффекты: Возвращает итератор в конец списка. Бросок: Ничего. Сложность: Постоянная. 
- <const_iteratorend()const; >Эффекты: Возвращает const_iterator в конец списка. Бросает: Ничего. Сложность: Постоянная. 
- <const_iteratorcend()const; >Эффекты: Возвращает постоянный итератор в конец списка. Бросает: Ничего. Сложность: Постоянная. 
- <reverse_iteratorrbegin(); >Эффекты: Возвращает обратный_iterator, указывающий на начало обратного списка. Бросает: Ничего. Сложность: Постоянная. 
- <const_reverse_iteratorrbegin()const; >Эффекты: Возвращает const_reverse_iterator, указывающий на начало обратного списка. Бросает: Ничего. Сложность: Постоянная. 
- <const_reverse_iteratorcrbegin()const; >Эффекты: Возвращает const_reverse_iterator, указывающий на начало перевернутого списка. Бросок: Ничего. Сложность: Постоянная. 
- <reverse_iteratorrend(); >Эффекты: Возвращает обратный_iterator, указывающий на конец списка. Бросок: Ничего. Сложность: Постоянно. 
- <const_reverse_iteratorrend()const; >Эффекты: Возвращает const_reverse_iterator, указывающий на конец перевернутого списка. Бросает: Ничего. Сложность: Постоянство. 
- <const_reverse_iteratorcrend()const; >Эффекты: Возвращает const_reverse_iterator, указывающий на конец перевернутого списка. Бросает: Ничего. Сложность: Постоянно. 
- <size_typesize()const; >Эффекты: Возвращает количество элементов, содержащихся в списке. Бросок: Ничего. Сложность: Линейный по количеству элементов, содержащихся в списке. Если опция постоянного размера отключена. Постоянное время иначе. Примечание: Не влияет на достоверность итераторов и ссылок. 
- <boolempty()const; >Эффекты: Возвращается, если список не содержит элементов. Бросок: Ничего. Сложность: Константа. Примечание: Не влияет на достоверность итераторов и ссылок. 
- <voidswap(list&other); >Эффекты: Изменяет элементы x и *это. Бросает: Ничего. Сложность: Константа. Примечание: Не влияет на достоверность итераторов и ссылок. 
- <voidshift_backwards(size_typen=1); >Эффекты: Перемещает все элементы назад, так что первый элемент становится вторым, второй становится третьим... последний элемент становится первым. Бросает: Ничего. Сложность: Линейный по количеству смен. Примечание: Не влияет на достоверность итераторов и ссылок. 
- <voidshift_forward(size_typen=1); >Эффекты: Перемещает вперед все элементы, так что второй элемент становится первым, третий становится вторым... первый элемент становится последним. Бросок: Ничего. Сложность: Линейный по количеству смен. Примечание: Не влияет на достоверность итераторов и ссылок. 
- <iteratorerase(const_iteratori); >Эффекты: Стирает элемент, указанный i в списке. Деструкторы не называются. Возвращает: первый элемент, остающийся за пределами удаленного элемента, или конец(), если такой элемент не существует. Бросок: Ничего. Сложность: Константа. Примечание: Инвалидирует итераторы (но не ссылки) на стертый элемент. 
- <iteratorerase(const_iteratorb,const_iteratore); >Требуется: b и e должны быть действительными итераторами для элементов в этом. Эффекты: Уничтожает диапазон элементов, указанный b и e Никакие деструкторы не называются. Возвращение: первый элемент, остающийся за пределами удаленных элементов, или конец (), если такой элемент не существует. Бросок: Ничего. Сложность: Линейный по количеству стертых элементов, если это безопасное значение режима или автоматического разъединения, или включен размер постоянного времени. В другое время. Примечание: Инвалидирует итераторы (но не ссылки) на стертые элементы. 
- <iteratorerase(const_iteratorb,const_iteratore,size_typen); >Требуется: b и e должны быть действительными итераторами элементов в *это. n должно быть расстоянием b, e. Эффекты: Уничтожает диапазон элементов, указанный b и e Никакие деструкторы не называются. Возвращает: первый элемент, остающийся за пределами удаленных элементов, или конец(), если такой элемент не существует. Бросок: Ничего. Сложность: Линейное количество стертых элементов, если включено значение безопасного режима или автоматического разъединения. В другое время. Примечание: Инвалидирует итераторы (но не ссылки) на стертые элементы. 
- <template<typenameDisposer>
 iteratorerase_and_dispose(const_iteratori,Disposerdisposer); >Требуется: Диспетчер::оператор()(поинт) не должен бросать. Эффекты: Стирает элемент, указанный i в списке. Деструкторы не называются. Диспозитор::оператор()(указатель) вызывается для удаленного элемента. Возвращение: первый элемент, остающийся за пределами удаленного элемента, или конец (), если такой элемент не существует. Бросок: Ничего. Сложность: Константа. Примечание: Инвалидирует итераторы к стертому элементу. 
- <template<typenameDisposer>
 iteratorerase_and_dispose(const_iteratorb,const_iteratore,
                            Disposerdisposer);>Требует: Диспетчер::оператор()(указатель) не должен бросать. Эффекты: Уничтожает диапазон элементов, указанный b и e Никакие деструкторы не называются. Диспозитор::оператор()(указатель) вызывается для удаленных элементов. Возвращение: первый элемент, остающийся за пределами удаленных элементов, или конец (), если такой элемент не существует. Бросок: Ничего. Сложность: Линейный по количеству стертых элементов. Примечание: Инвалидирует итераторы на стертые элементы. 
- <voidclear(); >Эффекты: Стирает все элементы контейнера. Никаких деструкторов. Броски: Ничего. Сложность: Линейный по количеству элементов списка. Если это безопасный режим или авто-разъединить значение_тип. Постоянное время иначе. Примечание: Инвалидирует итераторы (но не ссылки) на стертые элементы. 
- <template<typenameDisposer>voidclear_and_dispose(Disposerdisposer); >Требует: Диспетчер::оператор()(указатель) не должен бросать. Эффекты: Стирает все элементы контейнера. Деструкторы не называются. Диспозитор::оператор()(указатель) вызывается для удаленных элементов. Бросает: Ничего. Сложность: Линейное число элементов списка. Примечание: Инвалидирует итераторы на стертые элементы. 
- <template<typenameCloner,typenameDisposer>
 voidclone_from(constlist&src,Clonercloner,Disposerdisposer); >Требует: Диспетчер::оператор()(указатель) не должен бросать. Клонер должен уступить узлам, эквивалентным исходным узлам. Эффекты: Стирает все элементы из *этого вызывающего Диспозитора::оператор()(указатель), клонирует все элементы из src, вызывающего Клонера::оператор()(const_reference) и вставляет их на *это. Если клонер бросает, все клонированные элементы несвязаны и расположены, вызывая Диспозитор::оператор()(указатель). Сложность: Линейный стертый плюс вставленные элементы. Бросок: Если клонер бросит. Базовая гарантия. 
- <template<typenameCloner,typenameDisposer>
 voidclone_from(list&&src,Clonercloner,Disposerdisposer); >Требует: Диспетчер::оператор()(указатель) не должен бросать. Клонер должен уступить узлам, эквивалентным исходным узлам. Эффекты: Стирает все элементы из *этого вызывающего Диспозитора::оператор()(указатель), клонирует все элементы из src, вызывающего Клонера::оператор()(ссылка) и вставляет их на *это. Если клонер бросает, все клонированные элементы несвязаны и расположены, вызывая Диспозитор::оператор()(указатель). Сложность: Линейный стертый плюс вставленные элементы. Бросок: Если клонер бросит. Базовая гарантия. 
- <iteratorinsert(const_iteratorp,referencevalue); >Требуется: Значение должно быть значением l и p должно быть действительным итератором этого. Эффекты: Вставляет значение перед позицией, указанной p. Возврат: Итератор вставленного элемента. Бросает: Ничего. Сложность: Постоянное время. Никаких конструкторов копий. Примечание: Не влияет на достоверность итераторов и ссылок. 
- <template<typenameIterator>
 voidinsert(const_iteratorp,Iteratorb,Iteratore); >Требуется: Отклоняющийся итератор должен давать lзначение типа value_type и p должен быть действительным итератором *this. Эффекты: Вставляет диапазон, указанный b и e перед положением p. Копирование конструкторов не называется. Бросок: Ничего. Сложность: Линейное число вставленных элементов Примечание: Не влияет на достоверность итераторов и ссылок. 
- <template<typenameIterator>voidassign(Iteratorb,Iteratore); >Требуется: Ссылочный итератор должен давать значение l типа value_type. Эффекты: Очищает список и вставляет диапазон, указанный b и e. Ни разрушители, ни конструкторы копий не называются. Бросок: Ничего. Сложность: Линейный к количеству вставленных элементов плюс линейный к элементам, содержащимся в списке, если это значение безопасного режима или автоматического разъединения. Линейный по количеству элементов, вставленных в список иначе. Примечание: Инвалидирует итераторы (но не ссылки) на стертые элементы. 
- <template<typenameIterator,typenameDisposer>
 voiddispose_and_assign(Disposerdisposer,Iteratorb,Iteratore); >Требуется: Диспетчер::оператор()(пойнтеры) не должен бросать. Требуется: Ссылочный итератор должен давать значение l типа value_type. Эффекты: Очищает список и вставляет диапазон, указанный b и e. Ни разрушители, ни конструкторы копий не называются. Диспозитор::оператор()(указатель) вызывается для удаленных элементов. Бросок: Ничего. Сложность: Линейный по количеству вставленных элементов плюс линейный по содержащимся в списке элементам. Примечание: Инвалидирует итераторы (но не ссылки) на стертые элементы. 
- <voidsplice(const_iteratorp,list&x); >Требуется: p должен быть действительным итератором этого. Эффекты: Переносит все элементы списка x в этот список перед элементом, указанным p. Ни разрушители, ни конструкторы копий не называются. Бросок: Ничего. Сложность: Константа. Примечание: Итераторы значений, полученных из списка x, теперь указывают на элементы этого списка. Итераторы этого списка и все ссылки не являются недействительными. 
- <voidsplice(const_iteratorp,list&x,const_iteratornew_ele); >Требуется: p должен быть действительным итератором этого. new_ele должен указывать на элемент, содержащийся в списке x. Эффекты: Переносит значение, указанное new_ele, из списка x в этот список перед элементом, указанным p. Ни разрушители, ни конструкторы копий не называются. Если p == new_ele или p == ++new_ele, эта функция является нулевой операцией. Бросок: Ничего. Сложность: Примечание: Итераторы значений, полученных из списка x, теперь указывают на элементы этого списка. Итераторы этого списка и все ссылки не являются недействительными. 
- <voidsplice(const_iteratorp,list&x,const_iteratorf,const_iteratore); >Требуется: p должен быть действительным итератором этого. f и e должны указывать на элементы, содержащиеся в списке x. Эффекты: Переносит диапазон, указанный f и e, из списка x в этот список, перед элементом, указанным p. Ни разрушители, ни конструкторы копий не называются. Броски: Ничего. Сложность: Линейное число элементов, передаваемых при включении опции постоянного времени. В другое время. Примечание: Итераторы значений, полученных из списка x, теперь указывают на элементы этого списка. Итераторы этого списка и все ссылки не являются недействительными. 
- <voidsplice(const_iteratorp,list&x,const_iteratorf,const_iteratore,
           size_typen);>Требуется: p должен быть действительным итератором этого. f и e должны указывать на элементы, содержащиеся в списке x. n == расстояние (f, e) Эффекты: Переносит диапазон, указанный f и e из списка x в этот список, перед элементом, указанным p. Ни разрушители, ни конструкторы копий не называются. Броски: Ничего. Сложность: Примечание: Итераторы значений, полученных из списка x, теперь указывают на элементы этого списка. Итераторы этого списка и все ссылки не являются недействительными. 
- <voidsort(); >Эффекты: Эта функция сортирует список *это согласно std::less. Сорт стабилен, то есть сохраняется относительный порядок эквивалентных элементов. Бросок: Если value_traits::node_traits::node constructor throws (это не происходит с предопределенными Boost.Intrusive hooks) или std::lessthrows. Основная гарантия. Примечания: Итераторы и ссылки не являются недействительными. Сложность: Количество сравнений приблизительно равно N log N, где N — размер списка. 
- <template<typenamePredicate>voidsort(Predicatep); >Требуется: p должна быть функцией сравнения, которая вызывает строгое слабое упорядочение Эффекты: Эта функция сортирует список *это по п.Сорт стабилен, то есть сохраняется относительный порядок эквивалентных элементов. Бросок: Если value_traits::node_traits::node constructor throws (это не происходит с заранее заданными Boost.Intrusive крючками) или predicate throws. Основная гарантия. Примечания: Это не произойдет, если используется list_base_hook<>или<list_member_hook>. Итераторы и ссылки не являются недействительными.
 Сложность: Количество сравнений приблизительно равно N log N, где N — размер списка. 
- <voidmerge(list&x); >Эффекты: Эта функция удаляет все элементы x и вставляет их в порядок в соответствии со std::less. Слияние стабильно; то есть, если элемент из *это эквивалентно элементу из x, то элемент из *это будет предшествовать элементу из x. Бросает: Если std::lessбросок. Основная гарантия. Сложность: Эта функция является линейным временем: она выполняет максимум размер() + x.size() - 1 сравнение. Примечание: Итераторы и ссылки не являются недействительными .
- <template<typenamePredicate>voidmerge(list&x,Predicatep); >Требуется: p должна быть функцией сравнения, которая вызывает строгую слабую упорядоченность, и как это, так и x должны быть отсортированы в соответствии с этой упорядоченностью. Списки x и * это должны быть различными. Эффекты: Эта функция удаляет все элементы x и вставляет их в *это. Слияние стабильно; то есть, если элемент из * это эквивалентно элементу из x, то элемент из * это будет предшествовать элементу из x. Бросает: Если предикат бросит. Основная гарантия. Сложность: Эта функция является линейным временем: она выполняет максимум размер() + x.size() - 1 сравнение. Примечание: Итераторы и ссылки не являются недействительными. 
- <voidreverse(); >Эффекты: Обратный порядок элементов в списке. Бросает: Ничего. Сложность: Эта функция является линейным временем. Примечание: Итераторы и ссылки не являются недействительными .
- <voidremove(const_referencevalue); >Эффекты: Удалите все элементы, которые сравниваются с ценностью. Разрушители не называются. Броски: Если std::equal_toбросок. Основная гарантия. Сложность: Линейное время. Он выполняет точное сравнение размеров () для равенства. Примечание: Относительный порядок элементов, которые не удаляются, не изменяется, и итераторы элементов, которые не удаляются, остаются действительными. 
- <template<typenameDisposer>
 voidremove_and_dispose(const_referencevalue,Disposerdisposer); >Требует: Диспетчер::оператор()(указатель) не должен бросать. Эффекты: Удалите все элементы, которые сравниваются с ценностью. Диспозитор::оператор()(указатель) вызывается для каждого удаленного элемента. Бросок: Если std::equal_toбросок. Основная гарантия. Сложность: Линейное время. Он выполняет точное сравнение размеров () для равенства. Примечание: Относительный порядок элементов, которые не удаляются, не изменяется, и итераторы элементов, которые не удаляются, остаются действительными. 
- <template<typenamePred>voidremove_if(Predpred); >Эффекты: Удаляет все элементы, для которых удовлетворяется заданный предикат. Разрушители не называются. Броски: Если бы Хищник бросил. Основная гарантия. Сложность: Линейное время. Он выполняет точно размер() вызовов к предикату. Примечание: Относительный порядок элементов, которые не удаляются, не изменяется, и итераторы элементов, которые не удаляются, остаются действительными. 
- <template<typenamePred,typenameDisposer>
 voidremove_and_dispose_if(Predpred,Disposerdisposer); >Требует: Диспетчер::оператор()(указатель) не должен бросать. Эффекты: Удаляет все элементы, для которых удовлетворяется заданный предикат. Диспозитор::оператор()(указатель) вызывается для каждого удаленного элемента. Броски: Если бы Хищник бросил. Основная гарантия. Сложность: Линейное время. Он выполняет точное сравнение размеров () для равенства. Примечание: Относительный порядок элементов, которые не удаляются, не изменяется, и итераторы элементов, которые не удаляются, остаются действительными. 
- <voidunique(); >Эффекты: Удалите соседние дублирующие элементы или соседние элементы, которые равны из списка. Деструкторы не называются. Бросок: Если std::equal_toСложность: Линейное время (размер()-1 сравнения вызывает pred()). Примечание: Относительный порядок элементов, которые не удаляются, не изменяется, и итераторы элементов, которые не удаляются, остаются действительными. 
 
- <template<typenameBinaryPredicate>voidunique(BinaryPredicatepred); >Эффекты: Удаляет соседние дублирующие элементы или соседние элементы, удовлетворяющие некоторому двоичному предикату из списка. Разрушители не называются. Броски: Если бы Хищник бросил. Основная гарантия. Сложность: Линейное время (размер()-1 сравнений равенства). Примечание: Относительный порядок элементов, которые не удаляются, не изменяется, и итераторы элементов, которые не удаляются, остаются действительными. 
- <template<typenameDisposer>voidunique_and_dispose(Disposerdisposer); >Требует: Диспетчер::оператор()(поинт) не должен бросать. Эффекты: Удалите соседние дублирующие элементы или соседние элементы, которые равны из списка. Диспозитор::оператор()(указатель) вызывается для каждого удаленного элемента. Бросок: Если std::equal_toСложность: Линейное время (размер()-1) сравнения сравнения равенства. Примечание: Относительный порядок элементов, которые не удаляются, не изменяется, и итераторы элементов, которые не удаляются, остаются действительными. 
 
- <template<typenameBinaryPredicate,typenameDisposer>
 voidunique_and_dispose(BinaryPredicatepred,Disposerdisposer); >Требуется: Диспетчер::оператор()(пойнтеры) не должен бросать. Эффекты: Удаляет соседние дублирующие элементы или соседние элементы, удовлетворяющие некоторому двоичному предикату из списка. Диспозитор::оператор()(указатель) вызывается для каждого удаленного элемента. Бросок: Если бы Хищник бросил. Базовая гарантия. Сложность: Линейное время (размер()-1) сравнения сравнения равенства. Примечание: Относительный порядок элементов, которые не удаляются, не изменяется, и итераторы элементов, которые не удаляются, остаются действительными. 
- <iteratoriterator_to(referencevalue); >Требуется: Значение должно быть ссылкой на значение, включенное в список. Эффекты: Эта функция возвращает const_iterator, указывающий на элемент Бросает: Ничего. Сложность: Постоянное время. Примечание: Итераторы и ссылки не являются недействительными. 
- <const_iteratoriterator_to(const_referencevalue)const; >Требуется: значение должно быть ссылкой на значение, вставленное в список. Эффекты: Эта функция возвращает итератор, указывающий на элемент. Бросок: Ничего. Сложность: Постоянное время. Примечание: Итераторы и ссылки не являются недействительными. 
- <voidcheck()const; >Эффекты: Утверждает целостность контейнера. Сложность: Линейное время. Примечание: Метод не имеет эффекта, когда утверждения выключены (например, с NDEBUG). Экспериментальная функция интерфейса может измениться в будущих версиях.