std::forward_list::splice_after
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> void splice_after(const_iterator pos, forward_list& other); |
(1) | (начиная с C++11) |
void splice_after(const_iterator pos, forward_list&& other); |
(1) | (начиная с C++11) |
void splice_after(const_iterator pos, forward_list& other, const_iterator it); |
(2) | (начиная с C++11) |
void splice_after(const_iterator pos, forward_list&& other, const_iterator it); |
(2) | (начиная с C++11) |
void splice_after(const_iterator pos, forward_list& other, const_iterator first, const_iterator last); |
(3) | (начиная с C++11) |
void splice_after(const_iterator pos, forward_list&& other, const_iterator first, const_iterator last); |
(3) | (начиная с C++11) |
Перемещение элементов из другого
forward_list в *this.Оригинал:
Moves elements from another
forward_list to *this.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Нет элементы копируются.
pos является действительным итератор в *this или before_begin() итератор. Поведение неопределено, если get_allocator() != other.get_allocator(). Нет итераторы или ссылки стали недействительны, итераторы переехал элементы теперь обратиться в *this, а не в other.Оригинал:
No elements are copied.
pos is a valid iterator in *this or is the before_begin() iterator. The behavior is undefined if get_allocator() != other.get_allocator(). No iterators or references become invalidated, the iterators to moved elements now refer into *this, not into other.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
1)
Перемещение всех элементов из
other в *this. Элементы вставляются после элемента, на который указывает pos. Контейнер other становится пустым после операции. Поведение неопределено, если this == &otherОригинал:
Moves all elements from
other into *this. The elements are inserted after the element pointed to by pos. The container other becomes empty after the operation. The behavior is undefined if this == &otherТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Перемещает элемент, на который указывает
it от other в *this. Элемент вставляется после элемента, на который указывает pos.Оригинал:
Moves the element pointed to by
it from other into *this. The element is inserted after the element pointed to by pos.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Перемещение элементов в диапазоне от
(first, last) other в *this. Элементы вставляются после элемента, на который указывает pos. Элемент указал, на которую first не перемещается. Поведение неопределено, если pos это итератор в диапазоне (first,last).Оригинал:
Moves the elements in the range
(first, last) from other into *this. The elements are inserted after the element pointed to by pos. The element pointed-to by first is not moved. The behavior is undefined if pos is an iterator in the range (first,last).Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
| pos | — | Элемент, после чего его содержимое будет вставлено
Оригинал: element after which the content will be inserted Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| other | — | другой контейнер, чтобы переместить содержимое
Оригинал: another container to move the content from Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| it | — | элемент, чтобы перейти от
other в *thisОригинал: the element to move from other to *thisТекст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| first, last | — | диапазон элементов, чтобы перейти от
other в *thisОригинал: the range of elements to move from other to *thisТекст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Возвращаемое значение
(Нет)
Сложность
1)
Линейный в размере
otherОригинал:
Linear in the size of
otherТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2) Константная.
3)
Линейный в
std::distance(first, last)Оригинал:
Linear in
std::distance(first, last)Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Пример
Демонстрирует значение открытого интервала (первый, последний) в третьей форме splice_after (): первый элемент l1 не перемещается .
Оригинал:
Demonstrates the meaning of open interval (first, last) in the third form of splice_after(): the first element of l1 is not moved.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Запустить этот код
#include <iostream>
#include <forward_list>
int main()
{
std::forward_list<int> l1 = {1,2,3,4,5};
std::forward_list<int> l2 = {10,11,12};
l2.splice_after(l2.cbegin(), l1, l1.cbegin(), l1.cend());
// not equivalent to l2.splice_after(l2.cbegin(), l1);
for(int n : l1)
std::cout << n << ' ';
std::cout << '\n';
for(int n : l2)
std::cout << n << ' ';
std::cout << '\n';
}
Вывод:
1
10 2 3 4 5 11 12
См. также
(C++11) |
сливает два отсортированных списка (public функция-элемент) |
(C++11) |
удаляет элементы, соответствующие определённым критериям (public функция-элемент) |