Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lang/cpp17.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ C++17とは、2017年12月に改訂され、ISO/IEC 14882:2017で標準規格化
## 策定体制
C++14の策定開始段階から「Study Group (SG)」と呼ばれる専門家グループが複数作られ、そこで同時並行に新機能の議論、策定が進められていた。C++14ではそれらの機能は導入されなかったが、C++17ではSGで議論された機能のうち、仕様が固まったもののいくつかが導入されることとなった。

各SGで考えられた仕様は「Technical Specification (TS)」という単位で個別に各国の承認をとっている。その段階では、ライブラリ機能は`std::exprerimental`名前空間などで各コンパイラが実験的にサポートをしていた。これはコンパイラが実装経験を積み、ユーザーが使用経験を得てから標準に採用するためである。
各SGで考えられた仕様は「Technical Specification (TS)」という単位で個別に各国の承認をとっている。その段階では、ライブラリ機能は`std::experimental`名前空間などで各コンパイラが実験的にサポートをしていた。これはコンパイラが実装経験を積み、ユーザーが使用経験を得てから標準に採用するためである。

C++17では以下のTSが採用された:

Expand Down
12 changes: 6 additions & 6 deletions reference/bit.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,24 @@

| 名前 | 説明 | 対応バージョン |
|------|------|----------------|
| [`bit_cast`](bit/bit_cast.md) | ビットレベルの再解釈キャスト (functional template) | C++20 |
| [`bit_cast`](bit/bit_cast.md) | ビットレベルの再解釈キャスト (function template) | C++20 |


## バイト入替

| 名前 | 説明 | 対応バージョン |
|------|------|----------------|
| [`byteswap`](bit/byteswap.md) | バイト単位入れ替え (functional template) | C++23 |
| [`byteswap`](bit/byteswap.md) | バイト単位入れ替え (function template) | C++23 |


## 2の累乗整数

| 名前 | 説明 | 対応バージョン |
|------|------|----------------|
| [`has_single_bit`](bit/has_single_bit.md) | 1ビットだけ立っている値をもっているか判定する (functional template) | C++20 |
| [`bit_ceil`](bit/bit_ceil.md) | 整数値を2の累乗値に切り上げる (functional template) | C++20 |
| [`bit_floor`](bit/bit_floor.md) | 整数値を2の累乗値に切り下げる (functional template) | C++20 |
| [`bit_width`](bit/bit_width.md) | 値を表現するために必要なビット幅を求める (functional template) | C++20 |
| [`has_single_bit`](bit/has_single_bit.md) | 1ビットだけ立っている値をもっているか判定する (function template) | C++20 |
| [`bit_ceil`](bit/bit_ceil.md) | 整数値を2の累乗値に切り上げる (function template) | C++20 |
| [`bit_floor`](bit/bit_floor.md) | 整数値を2の累乗値に切り下げる (function template) | C++20 |
| [`bit_width`](bit/bit_width.md) | 値を表現するために必要なビット幅を求める (function template) | C++20 |


## 循環ビットシフト
Expand Down
1 change: 1 addition & 0 deletions reference/compare/partial_ordering/op_compare_3way.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ friend constexpr partial_ordering operator<=>(/*unspecified*/, partial_ordering
```cpp example
#include <iostream>
#include <compare>
#include <limits>

int main()
{
Expand Down
1 change: 1 addition & 0 deletions reference/compare/partial_ordering/op_equal.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ friend constexpr bool operator==(/*unspecified*/, partial_ordering v) noexcept;
```cpp example
#include <iostream>
#include <compare>
#include <limits>

int main()
{
Expand Down
1 change: 1 addition & 0 deletions reference/compare/partial_ordering/op_greater.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ friend constexpr bool operator>(/*unspecified*/, partial_ordering v) noexcept;
```cpp example
#include <iostream>
#include <compare>
#include <limits>

int main()
{
Expand Down
1 change: 1 addition & 0 deletions reference/compare/partial_ordering/op_greater_equal.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ friend constexpr bool operator>=(/*unspecified*/, partial_ordering v) noexcept;
```cpp example
#include <iostream>
#include <compare>
#include <limits>

int main()
{
Expand Down
1 change: 1 addition & 0 deletions reference/compare/partial_ordering/op_less.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ friend constexpr bool operator<(/*unspecified*/, partial_ordering v) noexcept;
```cpp example
#include <iostream>
#include <compare>
#include <limits>

int main()
{
Expand Down
1 change: 1 addition & 0 deletions reference/compare/partial_ordering/op_less_equal.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ friend constexpr bool operator<=(/*unspecified*/, partial_ordering v) noexcept;
```cpp example
#include <iostream>
#include <compare>
#include <limits>

int main()
{
Expand Down
1 change: 1 addition & 0 deletions reference/compare/partial_ordering/op_not_equal.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ friend constexpr bool operator!=(/*unspecified*/, partial_ordering v) noexcept;
```cpp example
#include <iostream>
#include <compare>
#include <limits>

int main()
{
Expand Down
2 changes: 1 addition & 1 deletion reference/complex/complex/op_i.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@ int main()
| [`if`](op_if.md) | `complex<float>`のリテラル |
| [`il`](op_il.md) | `complex<long double>`のリテラル |

- [N3779 User-dened Literals for std::complex part 2 of UDL for Standard Library Types (version 5)](https://isocpp.org/files/papers/N3779.pdf)
- [N3779 User-defined Literals for std::complex part 2 of UDL for Standard Library Types (version 5)](https://isocpp.org/files/papers/N3779.pdf)
2 changes: 1 addition & 1 deletion reference/complex/complex/op_if.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@ int main()
| [`i`](op_i.md) | `complex<double>`のリテラル |
| [`il`](op_il.md) | `complex<long double>`のリテラル |

- [N3779 User-dened Literals for std::complex part 2 of UDL for Standard Library Types (version 5)](https://isocpp.org/files/papers/N3779.pdf)
- [N3779 User-defined Literals for std::complex part 2 of UDL for Standard Library Types (version 5)](https://isocpp.org/files/papers/N3779.pdf)
2 changes: 1 addition & 1 deletion reference/complex/complex/op_il.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@ int main()
| [`i`](op_i.md) | `complex<double>`のリテラル |
| [`if`](op_if.md) | `complex<float>`のリテラル |

- [N3779 User-dened Literals for std::complex part 2 of UDL for Standard Library Types (version 5)](https://isocpp.org/files/papers/N3779.pdf)
- [N3779 User-defined Literals for std::complex part 2 of UDL for Standard Library Types (version 5)](https://isocpp.org/files/papers/N3779.pdf)
2 changes: 1 addition & 1 deletion reference/filesystem/path/compare.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ int main()

// 正規化は考慮されない。
// ファイルシステムとしてのパスの等価性ではなく、
// パス文字列の同値性が比較されれる
// パス文字列の同値性が比較される
fs::path c = "a/../b/c";
assert(a.compare(c) != 0);

Expand Down
2 changes: 1 addition & 1 deletion reference/filesystem/path/op_compare_3way.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ int main()

// 正規化は考慮されない。
// ファイルシステムとしてのパスの等価性ではなく、
// パス文字列の同値性が比較されれる
// パス文字列の同値性が比較される
fs::path c = "a/../b/c";
assert((a <=> c) != 0);
}
Expand Down
2 changes: 1 addition & 1 deletion reference/filesystem/path/op_equal.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ int main()

// 正規化は考慮されない。
// ファイルシステムとしてのパスの等価性ではなく、
// パス文字列の同値性が比較されれる
// パス文字列の同値性が比較される
fs::path c = "a/../b/c";
assert(!(a == c));
}
Expand Down
2 changes: 1 addition & 1 deletion reference/filesystem/path/op_not_equal.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ int main()

// 正規化は考慮されない。
// ファイルシステムとしてのパスの等価性ではなく、
// パス文字列の同値性が比較されれる
// パス文字列の同値性が比較される
fs::path c = "a/../b/c";
assert(a != c);
}
Expand Down
Loading