Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::forwar...insert_after(3) C++ Standard Libarystd::forwar...insert_after(3)

NAME
       std::forward_list::insert_after - std::forward_list::insert_after

Synopsis
	  iterator   insert_after(  const_iterator  pos,  const	 T&  value  );
       (1) (since C++11)
	  iterator   insert_after(   const_iterator   pos,   T&&   value    );
       (2) (since C++11)
	  iterator  insert_after(  const_iterator  pos,	size_type count, const
       (3) (since C++11)
	  T& value );
	  template< class InputIt >
	  iterator insert_after( const_iterator	pos,  InputIt  first,  InputIt
       (4) (since C++11)
	  last );
	  iterator	    insert_after(	   const_iterator	  pos,
       (5) (since C++11)
	  std::initializer_list<T> ilist );

	  Inserts elements after the specified position	in the container.

	  1,2) Inserts value after the element pointed to by pos.
	  3) Inserts count copies of the value after the element pointed to by
       pos.
	  4) Inserts elements from  range  [first,  last)  after  the  element
       pointed to by pos.
	  The  behavior	 is  undefined	if  first  and last are	iterators into
       *this.
	  5) Inserts elements from initializer list ilist.

	  No iterators or references are invalidated.

Parameters
	  pos	      -	iterator after which the content will be inserted
	  value	      -	element	value to insert
	  count	      -	number of copies to insert
	  first, last -	the range of elements to insert
	  ilist	      -	initializer list to insert the values from

Type requirements
	  -
	  InputIt must meet the	requirements of	LegacyInputIterator.

Return value
	  1,2) Iterator	to the inserted	element.
	  3) Iterator to the last element inserted, or pos if count == 0.
	  4) Iterator to the last element inserted, or pos if first == last.
	  5) Iterator to the last element inserted, or pos if ilist is empty.

Exceptions
	  If an	exception is thrown for	any reason, these  functions  have  no
       effect (strong
	  exception safety guarantee).

Complexity
	  1,2) Constant.
	  3) Linear in count.
	  4) Linear in std::distance(first, last).
	  5) Linear in ilist.size().

Example
       // Run this code

	#include <forward_list>
	#include <iostream>
	#include <string>
	#include <vector>

	void print(const std::forward_list<int>& list)
	{
	    std::cout << "list:	{";
	    for	(char comma[3] = {'\0',	' ', '\0'}; int	i : list)
	    {
		std::cout << comma << i;
		comma[0] = ',';
	    }
	    std::cout << "}\n";
	}

	int main()
	{
	    std::forward_list<int> ints{1, 2, 3, 4, 5};
	    print(ints);

	    // insert_after (2)
	    auto beginIt = ints.begin();
	    ints.insert_after(beginIt, -6);
	    print(ints);

	    // insert_after (3)
	    auto anotherIt = beginIt;
	    ++anotherIt;
	    anotherIt =	ints.insert_after(anotherIt, 2,	-7);
	    print(ints);

	    // insert_after (4)
	    const std::vector<int> v = {-8, -9,	-10};
	    anotherIt =	ints.insert_after(anotherIt, v.cbegin(), v.cend());
	    print(ints);

	    // insert_after (5)
	    ints.insert_after(anotherIt, {-11, -12, -13, -14});
	    print(ints);
	}

Output:
	list: {1, 2, 3,	4, 5}
	list: {1, -6, 2, 3, 4, 5}
	list: {1, -6, -7, -7, 2, 3, 4, 5}
	list: {1, -6, -7, -7, -8, -9, -10, 2, 3, 4, 5}
	list: {1, -6, -7, -7, -8, -9, -10, -11,	-12, -13, -14, 2, 3, 4,	5}

See also
	  emplace_after	constructs elements in-place after an element
			(public	member function)
	  push_front	inserts	an element to the beginning
			(public	member function)

http://cppreference.com		  2024.06.10	 std::forwar...insert_after(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::forward_list::insert_after&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help