std::deque<T,Allocator>::pop_front
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Containers library
(C++17)
(C++11)
(C++26)
(C++26)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++23)
(C++23)
(C++20)
(C++23)
Tables
std::deque
(C++23)
(C++11)
(C++11)
(C++11)
(C++11)
(DR*)
(C++23)
(C++11)
(C++23)
deque::pop_front
(C++11)
(C++23)
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)
Deduction guides (C++17)
void pop_front();
(constexpr since C++26)
Removes the first element of the container.
If empty() is true, the behavior is undefined.
(until C++26)If empty() is true:
- If the implementation is hardened, a contract violation occurs. Moreover, if the contract-violation handler returns under "observe" evaluation semantic, the behavior is undefined.
- If the implementation is not hardened, the behavior is undefined.
Iterators and references to the erased element are invalidated. If the element is the last element in the container, the end()
iterator is also invalidated. Other references and iterators are not affected.
[edit] Complexity
Constant.
[edit] Example
Run this code
#include <deque> #include <iostream> int main() { std::deque <char> chars{'A', 'B', 'C', 'D'}; for (; !chars.empty(); chars.pop_front()) std::cout << "chars.front(): '" << chars.front() << "'\n"; }
Output:
chars.front(): 'A' chars.front(): 'B' chars.front(): 'C' chars.front(): 'D'