Пространства имён
Варианты
Действия

std::inserter

Материал из cppreference.com
< cpp‎ | iterator

 
 
Библиотека итераторов
Концепты итераторов
Примитивы итераторов
Концепты алгоритмов и утилиты
Косвенно вызываемые концепты
Общие требования к алгоритмам
Утилиты
(C++20)
Адаптеры итераторов
Потоковые итераторы
Точки настройки итераторов
Операции итераторов
(C++11)
(C++11)
Доступ к диапазону
(C++11)(C++14)
(C++11)(C++14)
(C++17)(C++20)
(C++14)(C++14)
(C++14)(C++14)
(C++17)
(C++17)
 
Определено в заголовочном файле <iterator>
template< class Container >
std::insert_iterator<Container> inserter( Container& c, typename Container::iterator i );
inserter является шаблоном удобная функция, которая строит std::insert_iterator для c контейнера и итератора i с типом выводится из типа аргумента.
Оригинал:
inserter is a convenience function template that constructs a std::insert_iterator for the container c and its iterator i with the type deduced from the type of the argument.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Параметры

c
контейнер, который поддерживает insert операции
Оригинал:
container that supports a insert operation
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
i
итератор в c с указанием позиции вставки
Оригинал:
iterator in c indicating the insertion position
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Возвращаемое значение

std::insert_iterator, которые можно использовать для вставки элементов в контейнере c в положение, указанное i.
Оригинал:
A std::insert_iterator which can be used to insert elements into the container c at the position indicated by i.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Возможная реализация

template< class Container >
std::insert_iterator<Container> inserter( Container& c, typename Container::iterator i )
{
    return std::insert_iterator<Container>(c, i );
}

[править] Пример

#include <iostream>
#include <list>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::list<int> l{1,2,3,4,5,6,7,8,9,10};
    std::fill_n(std::inserter(l, std::next(l.begin())), 3, -1);
    for (int n : l) {
        std::cout << n << ' ';
    }
}

Вывод:

1 -1 -1 -1 2 3 4 5 6 7 8 9 10

[править] См. также

адаптер итератора для вставки в контейнер
(шаблон класса) [править]
создаёт std::back_insert_iterator типа, выведенного из аргумента
(шаблон функции) [править]
создаёт std::front_insert_iterator типа, выведенного из аргумента
(шаблон функции) [править]