Namespaces
Variants
Actions

std::deque<T,Allocator>::push_front

From cppreference.com
< cpp‎ | container‎ | deque
 
 
 
 
void push_front(const T& value );
(1)(constexpr since C++26)
void push_front( T&& value );
(2)(since C++11)
(constexpr since C++26)

Prepends a copy of value to the beginning of the container.

All iterators (including the end() iterator) are invalidated. No references are invalidated.

Contents

[edit]Parameters

value - the value of the element to prepend
Type requirements
-

If the following condition is satisfied, the behavior is undefined:

1)T is not CopyInsertable into deque.
2)T is not MoveInsertable into deque.
(since C++11)

[edit]Complexity

Constant.

[edit]Exceptions

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

[edit]Example

#include <deque>#include <iomanip>#include <iostream>#include <string>   int main(){std::deque<std::string> letters;   letters.push_front("me");// overload (1)std::string s{"send"}; letters.push_front(std::move(s));// overload (2)   std::cout<<"std::deque letters holds: ";for(auto&& e : letters)std::cout<<std::quoted(e)<<' ';   std::cout<<"\nMoved-from string s holds: "<<std::quoted(s)<<'\n';}

Possible output:

std::deque letters holds: "send" "me" Moved-from string s holds: ""

[edit]See also

constructs an element in-place at the beginning
(public member function)[edit]
adds an element to the end
(public member function)[edit]
removes the first element
(public member function)[edit]
creates a std::front_insert_iterator of type inferred from the argument
(function template)[edit]
close