- memory[meta header]
- std[meta namespace]
- variable[meta id-type]
- cpp29[meta cpp]
namespace std {
inline constexpr unsigned int max_pointer_bits_available = see below; // (1) C++29
}ポインタタギングに使用できるビット数の、処理系定義の上限値。
pointer_tag_pairのBitsRequestedはこの値以下でなければならない。
- この値が非0であることは、無効なポインタ値に対する(動作が処理系定義である)非算術操作が、
from_tagged()による復元を保証するのに十分な情報を保存することを示す - ポインタタギングをサポートしない処理系ではこの値は0となりうる。すべての処理系で最低1ビットが使用できる保証はない
#include <memory>
#include <iostream>
int main()
{
std::cout << std::max_pointer_bits_available << std::endl;
}- std::max_pointer_bits_available[color ff0000]
3
- C++29
- Clang: ??
- GCC: ??
- Visual C++: ??