Skip to content
Merged
  •  
  •  
  •  
10 changes: 9 additions & 1 deletion reference/deque/deque/append_range.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@

```cpp
template <container-compatible-range<T> R>
void append_range(R&& rg); // C++23
void
append_range(R&& rg); // (1) C++23
template <container-compatible-range<T> R>
constexpr void
append_range(R&& rg); // (1) C++26
```

## 概要
Expand Down Expand Up @@ -63,3 +67,7 @@ int main()
|-------------------------------------------|----------------------|
| [`push_back`](push_back.md) | 末尾に要素を追加する |
| [`emplace_back`](emplace_back.md) | 末尾に要素を直接構築で追加する |


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
21 changes: 16 additions & 5 deletions reference/deque/deque/assign.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,21 @@

```cpp
template <class InputIterator>
void assign(InputIterator first, InputIterator last); // (1)

void assign(size_type n, const T& t); // (2)

void assign(initializer_list<T> init); // (3) C++11
void
assign(InputIterator first, InputIterator last); // (1) C++03
template <class InputIterator>
constexpr void
assign(InputIterator first, InputIterator last); // (1) C++26

void
assign(size_type n, const T& t); // (2) C++03
constexpr void
assign(size_type n, const T& t); // (2) C++26

void
assign(initializer_list<T> init); // (3) C++11
constexpr void
assign(initializer_list<T> init); // (3) C++26
```
* initializer_list[link /reference/initializer_list/initializer_list.md]

Expand Down Expand Up @@ -73,3 +83,4 @@ c3 : {1 2 3 }

## 参照
- [N2679 Initializer Lists for Standard Containers(Revision 1)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2679.pdf)
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
10 changes: 9 additions & 1 deletion reference/deque/deque/assign_range.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@

```cpp
template <container-compatible-range<T> R>
void assign_range(R&& rg); // C++23
void
assign_range(R&& rg); // (1) C++23
template <container-compatible-range<T> R>
constexpr void
assign_range(R&& rg); // (1) C++26
```

## 概要
Expand Down Expand Up @@ -62,3 +66,7 @@ int main()
| 名前 | 説明 |
|-------------------------------------------|----------------------|
| [`assign`](assign.md) | コンテナに値を代入する |


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
15 changes: 13 additions & 2 deletions reference/deque/deque/at.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,15 @@
* function[meta id-type]

```cpp
reference at(size_type n);
const_reference at(size_type n) const;
reference
at(size_type n); // (1) C++03
constexpr
reference at(size_type n); // (1) C++26

const_reference
at(size_type n) const; // (2) C++03
constexpr const_reference
at(size_type n) const; // (2) C++26
```

## 概要
Expand Down Expand Up @@ -68,3 +75,7 @@ out of range!
| 名前 | 説明 |
|----------------------------|----------------------------------|
| [`operator[]`](op_at.md) | 任意位置の要素への参照を取得する |


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
15 changes: 13 additions & 2 deletions reference/deque/deque/back.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,15 @@
* function[meta id-type]

```cpp
reference back();
const_reference back() const;
reference
back(); // (1) C++03
constexpr reference
back(); // (1) C++26

const_reference
back() const; // (2) C++03
constexpr const_reference
back() const; // (2) C++26
```

## 概要
Expand Down Expand Up @@ -53,3 +60,7 @@ int main()
| [`front`](front.md) | 先頭要素への参照を取得する |
| [`push_back`](push_back.md) | 末尾に要素を追加する |
| [`pop_back`](pop_back.md) | 末尾要素を削除する |


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
14 changes: 10 additions & 4 deletions reference/deque/deque/begin.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@
* function[meta id-type]

```cpp
iterator begin(); // (1) C++03
iterator begin() noexcept; // (1) C++11
iterator begin(); // (1) C++03
iterator begin() noexcept; // (1) C++11
constexpr iterator begin() noexcept; // (1) C++26

const_iterator begin() const; // (2) C++03
const_iterator begin() const noexcept; // (2) C++11
const_iterator begin() const; // (2) C++03
const_iterator begin() const noexcept; // (2) C++11
constexpr const_iterator begin() const noexcept; // (2) C++26
```

## 概要
Expand Down Expand Up @@ -63,3 +65,7 @@ int main()
| [`cend`](cend.md) | 末尾要素を指す読み取り専用イテレータを取得する |
| [`rbegin`](rbegin.md) | 末尾要素を指す逆イテレータを取得する |
| [`rend`](rend.md) | 先頭要素の前を指す逆イテレータを取得する |


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
4 changes: 3 additions & 1 deletion reference/deque/deque/cbegin.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
* cpp11[meta cpp]

```cpp
const_iterator cbegin() const noexcept;
const_iterator cbegin() const noexcept; // (1) C++11
constexpr const_iterator cbegin() const noexcept; // (1) C++26
```

## 概要
Expand Down Expand Up @@ -67,3 +68,4 @@ int main()
- [Visual C++](/implementation.md#visual_cpp): 2010 [mark verified], 2012 [mark verified], 2013 [mark verified]

## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
4 changes: 3 additions & 1 deletion reference/deque/deque/cend.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
* cpp11[meta cpp]

```cpp
const_iterator cend() const noexcept;
const_iterator cend() const noexcept; // (1) C++11
constexpr const_iterator cend() const noexcept; // (1) C++26
```

## 概要
Expand Down Expand Up @@ -71,3 +72,4 @@ int main()


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
16 changes: 9 additions & 7 deletions reference/deque/deque/clear.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
* function[meta id-type]

```cpp
void clear(); // C++03
void clear() noexcept; // C++11
void clear(); // (1) C++03
void clear() noexcept; // (1) C++11
constexpr void clear() noexcept; // (1) C++26
```

## 概要
Expand Down Expand Up @@ -58,11 +59,6 @@ int main()
```
```

## 参照
- [LWG Issue 2231. DR 704 removes complexity guarantee for `clear()`](http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2231)
- C++03までこの関数の効果は`erase(begin(), end())`だったため、それによって線形時間の計算量が保証されていたが、C++11で効果の表記が変わったために、保証がなくなってしまっていた。C++14であらためて保証を追加。


## 関連項目

| 名前 | 説明 |
Expand All @@ -72,3 +68,9 @@ int main()
| [`pop_back`](pop_back.md) | 末尾要素を削除する |
| [`pop_front`](pop_front.md) | 先頭要素を削除する |
| [`empty`](empty.md) | コンテナが空であるかどうかを調べる |


## 参照
- [LWG Issue 2231. DR 704 removes complexity guarantee for `clear()`](http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2231)
- C++03までこの関数の効果は`erase(begin(), end())`だったため、それによって線形時間の計算量が保証されていたが、C++11で効果の表記が変わったために、保証がなくなってしまっていた。C++14であらためて保証を追加。
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
4 changes: 3 additions & 1 deletion reference/deque/deque/crbegin.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
* cpp11[meta cpp]

```cpp
const_reverse_iterator crbegin() const noexcept;
const_reverse_iterator crbegin() const noexcept; // (1) C++11
constexpr const_reverse_iterator crbegin() const noexcept; // (1) C++26
```

## 概要
Expand Down Expand Up @@ -67,3 +68,4 @@ int main()


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
4 changes: 3 additions & 1 deletion reference/deque/deque/crend.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
* cpp11[meta cpp]

```cpp
const_reverse_iterator crend() const noexcept;
const_reverse_iterator crend() const noexcept; // (1) C++11
constexpr const_reverse_iterator crend() const noexcept; // (1) C++26
```

## 概要
Expand Down Expand Up @@ -67,3 +68,4 @@ int main()


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
5 changes: 4 additions & 1 deletion reference/deque/deque/emplace.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@

```cpp
template <class... Args>
iterator emplace(const_iterator position, Args&&... args);
iterator emplace(const_iterator position, Args&&... args); // (1) C++11
template <class... Args>
constexpr iterator emplace(const_iterator position, Args&&... args); // (1) C++26
```

## 概要
Expand Down Expand Up @@ -85,3 +87,4 @@ int main()
- [N2345 Placement Insert for Containers (Revision 2)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2345.pdf)
- [LWG Issue 2252. Strong guarantee on `vector::push_back()` still broken with C++11?](http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2252)
- 経緯の説明は、[`vector::push_back()`](/reference/vector/vector/push_back.md)ページを参照。
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
8 changes: 5 additions & 3 deletions reference/deque/deque/emplace_back.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@

```cpp
template <class... Args>
void emplace_back(Args&&... args); // C++14 まで

void emplace_back(Args&&... args); // (1) C++11
template <class... Args>
reference emplace_back(Args&&... args); // (1) C++17
template <class... Args>
reference emplace_back(Args&&... args); // C++17 から
constexpr reference emplace_back(Args&&... args); // (1) C++26
```

## 概要
Expand Down Expand Up @@ -94,3 +95,4 @@ int main()
- [P0084R0 Emplace Return Type](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0084r0.pdf)
- [P0084R1 Emplace Return Type (Revision 1)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r1.pdf)
- [P0084R2 Emplace Return Type (Revision 2)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r2.pdf)
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
8 changes: 5 additions & 3 deletions reference/deque/deque/emplace_front.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@

```cpp
template <class... Args>
void emplace_front(Args&&... args); // C++14 まで

void emplace_front(Args&&... args); // (1) C++11
template <class... Args>
reference emplace_front(Args&&... args); // (1) C++17
template <class... Args>
reference emplace_front(Args&&... args); // C++17 から
constexpr reference emplace_front(Args&&... args); // (1) C++26
```

## 概要
Expand Down Expand Up @@ -94,3 +95,4 @@ int main()
- [P0084R0 Emplace Return Type](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0084r0.pdf)
- [P0084R1 Emplace Return Type (Revision 1)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r1.pdf)
- [P0084R2 Emplace Return Type (Revision 2)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r2.pdf)
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
9 changes: 5 additions & 4 deletions reference/deque/deque/empty.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
* function[meta id-type]

```cpp
bool empty() const; // C++03
bool empty() const noexcept; // C++11
[[nodiscard]] bool empty() const noexcept; // C++20
bool empty() const noexcept; // C++26
bool empty() const; // (1) C++03
bool empty() const noexcept; // (1) C++11
[[nodiscard]] bool empty() const noexcept; // (1) C++20
constexpr bool empty() const noexcept; // (1) C++26
```

## 概要
Expand Down Expand Up @@ -70,3 +70,4 @@ false
- C++20で`[[nodiscard]]`が付加された
- [P2422R1 Remove `nodiscard` annotations from the standard library specification](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2422r1.html)
- C++26で`[[nodiscard]]`指定が削除された
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
14 changes: 10 additions & 4 deletions reference/deque/deque/end.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@
* function[meta id-type]

```cpp
iterator end(); // (1) C++03
iterator end() noexcept; // (1) C++11
iterator end(); // (1) C++03
iterator end() noexcept; // (1) C++11
constexpr iterator end() noexcept; // (1) C++26

const_iterator end() const; // (2) C++03
const_iterator end() const noexcept; // (2) C++11
const_iterator end() const; // (2) C++03
const_iterator end() const noexcept; // (2) C++11
constexpr const_iterator end() const noexcept; // (2) C++26
```

## 概要
Expand Down Expand Up @@ -80,3 +82,7 @@ int main()
| [`cend`](cend.md) | 末尾要素の次を指す読み取り専用イテレータを取得する |
| [`rbegin`](rbegin.md) | 末尾要素を指す逆イテレータを取得する |
| [`rend`](rend.md) | 先頭要素の前を指す逆イテレータを取得する |


## 参照
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
7 changes: 5 additions & 2 deletions reference/deque/deque/erase.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@
```cpp
iterator erase(iterator position); // (1) C++03
iterator erase(const_iterator position); // (1) C++11
constexpr iterator erase(const_iterator position); // (1) C++26

iterator erase(iterator first, iterator last); // (2) C++03
iterator erase(const_iterator first, const_iterator last); // (2) C++11
iterator erase(iterator first, iterator last); // (2) C++03
iterator erase(const_iterator first, const_iterator last); // (2) C++11
constexpr iterator erase(const_iterator first, const_iterator last); // (2) C++26
```

## 概要
Expand Down Expand Up @@ -110,3 +112,4 @@ int main()
## 参照
- [N2350 Container insert/erase and iterator constness (Revision 1)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2350.pdf)
- [LWG Issue 638. `deque` end invalidation during erase](http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#638)
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
3 changes: 2 additions & 1 deletion reference/deque/deque/erase_free.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace std {
typename deque<T, Allocator>::size_type
erase(deque<T, Allocator>& c, const U& value); // (1) C++20
template <class T, class Allocator, class U = T>
typename deque<T, Allocator>::size_type
constexpr typename deque<T, Allocator>::size_type
erase(deque<T, Allocator>& c, const U& value); // (1) C++26
}
```
Expand Down Expand Up @@ -117,3 +117,4 @@ int main() {
- [R1115R3 Improving the Return Value of Erase-Like Algorithms II: Free `erase`/`erase_if`](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1115r3.pdf)
- [P2248R8 Enabling list-initialization for algorithms](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2248r8.html)
- C++26で波カッコ初期化 (リスト初期化) に対応した
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
7 changes: 6 additions & 1 deletion reference/deque/deque/erase_if_free.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
```cpp
namespace std {
template <class T, class Allocator, class Predicate>
typename deque<T, Allocator>::size_type erase_if(deque<T, Allocator>& c, Predicate pred);
typename deque<T, Allocator>::size_type
erase_if(deque<T, Allocator>& c, Predicate pred); // (1) C++20
template <class T, class Allocator, class Predicate>
constexpr typename deque<T, Allocator>::size_type
erase_if(deque<T, Allocator>& c, Predicate pred); // (1) C++26
}
```

Expand Down Expand Up @@ -74,3 +78,4 @@ int main()
## 参照
- [P1209R0 Adopt consistent container erasure from Library Fundamentals 2](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html)
- [R1115R3 Improving the Return Value of Erase-Like Algorithms II: Free `erase`/`erase_if`](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1115r3.pdf)
- [P3372R3 constexpr containers and adaptors](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html)
Loading