Namespaces
Variants
Actions

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

From cppreference.com
< cpp‎ | container‎ | deque
 
 
 
std::deque
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)
 
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.

[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

Run this code
#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]
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/deque/push_front&oldid=135183"

AltStyle によって変換されたページ (->オリジナル) /