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

FreeBSD Manual Pages

  
 
  

home | help
std::multiset::insert(3)      C++ Standard Libary     std::multiset::insert(3)

NAME
       std::multiset::insert - std::multiset::insert

Synopsis
	  iterator insert( const value_type& value );	       (1)
	  iterator  insert(  value_type&&  value  );		    (2)	(since
       C++11)
	  iterator     insert(	   iterator	pos,	 const	   value_type&
       (until C++11)
	  value	);
	  iterator	  insert(	 const_iterator	      pos,	 const
       (since C++11)
	  value_type& value );
	  iterator  insert(  const_iterator   pos,   value_type&&	   (4)
       (since C++11)
	  value	);
	  template< class InputIt >			       (3) (5)
	  void insert( InputIt first, InputIt last );
	  void	 insert(   std::initializer_list<value_type>   ilist	   (6)
       (since C++11)
	  );
	  iterator  insert(  node_type&&   nh	);			   (7)
       (since C++17)
	  iterator   insert(   const_iterator  pos,  node_type&&  nh	   (8)
       (since C++17)
	  );

	  Inserts element(s) into the container. The order  of	the  remaining
       equivalent
	  elements is preserved.

	  1,2)	Inserts	 value.	 If the	container has elements with equivalent
       key, inserts at
	  the upper bound of that range.
	  3,4) Inserts value in	the position as	close as possible to the posi-
       tion just prior
	  to pos.
	  5) Inserts elements from range [first, last).
	  6) Inserts elements from initializer list ilist.
	  7) If	nh is an empty node handle, does nothing.  Otherwise,  inserts
       the element owned
	  by nh	into the container and returns an iterator pointing at the in-
       serted element.
	  If  a	range containing elements with keys equivalent to nh.key() ex-
       ists in the
	  container, the element is inserted at	the end	of that	range. The be-
       havior is
	  undefined if nh is not empty and get_allocator()  !=	nh.get_alloca-
       tor().
	  8)  If  nh is	an empty node handle, does nothing and returns the end
       iterator.
	  Otherwise, inserts the element owned by nh into the  container,  and
       returns the
	  iterator  pointing  to  the element with key equivalent to nh.key().
       The element is
	  inserted as close as possible	to the position	just prior to pos. The
       behavior	is
	  undefined if nh is not empty and get_allocator()  !=	nh.get_alloca-
       tor().

	  No iterators or references are invalidated.
	  If  the insertion is successful, pointers and	references to the ele-
       ment obtained
	  while	it is held in the node handle are  invalidated,	 and  pointers
       and references
	  obtained to that element before it was extracted become valid.
	  (since C++17)

Parameters
	  pos	       - iterator to the position before which the new element
       will be inserted
	  value	      -	element	value to insert
	  first, last -	range of elements to insert
	  ilist	      -	initializer list to insert the values from
	  nh	      -	a compatible node handle

Type requirements
	  -
	  InputIt must meet the	requirements of	LegacyInputIterator.

Return value
	  1-4) An iterator to the inserted element.
	  5,6) (none)
	  7,8) End iterator if nh was empty, iterator pointing to the inserted
       element
	  otherwise.

Exceptions
	  1-4,7,8) If an exception is thrown by	any operation,	the  insertion
       has no effect.
	  5,6) No exception safety guarantee.

Complexity
	  1,2,7) O(log(size()))
	  3,4,8)  Amortized  constant if the insertion happens in the position
       just before pos,
	  O(log(size())) otherwise.
	  5,6) O(Nlog(size() + N)), where N is the number of elements  to  in-
       sert.

Example
	   This	section	is incomplete
	   Reason: no example

	  Defect reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	    DR	   Applied  to	       Behavior	as published		  Cor-
       rect behavior
								   the	inser-
       tion is required
			     pos was just a hint, it could be	   to
	  LWG 233 C++98	     totally ignored			   be as close
       as possible to
								   the
								   position
       just prior to pos
			     the complexity of overload	(5) was	   removed the
       linear
	  LWG 264 C++98	     required to be linear if		   requirement
			     the  range	 [first,  last)	 is sorted     in this
       special case
			     according to Compare
	  LWG 371 C++98	     the order of equivalent elements was  required to
       be preserved
			     not guaranteed to be preserved

See also
	  emplace      constructs element in-place
	  (C++11)      (public member function)
	  emplace_hint constructs elements in-place using a hint
	  (C++11)      (public member function)
	  inserter     creates a std::insert_iterator of  type	inferred  from
       the argument
		       (function template)

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	      std::multiset::insert(3)

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

home | help