最終更新日時:
が更新

履歴 編集

機能テストマクロ(C++17)

概要

SD-6 は C++17 の機能について以下のテストマクロを定義することを推奨している:

マクロ名 機能 ヘッダ
__cpp_enumerator_attributes 201411 列挙子への属性付加を許可 predefined
__cpp_fold_expressions 201411 畳み込み式 predefined
__cpp_inheriting_constructors 201511 継承コンストラクタの新仕様 predefined
__cpp_lib_allocator_traits_is_always_equal 201411 ライブラリー内の noexcept のクリーンアップ <deque>, <forward_list>, <list>, <map>, <memory>, <scoped_allocator>, <set>, <string>, <unordered_map>, <unordered_set>, <vector>
__cpp_lib_as_const 201510 std::as_const <utility>
__cpp_lib_bool_constant 201505 std::bool_constant <type_traits>
__cpp_lib_chrono 201510 <chrono> の改良 <chrono>
__cpp_lib_incomplete_container_elements 201505 標準コンテナについて不完全型を最小限サポート headers (<forward_list>, <list>, <vector>)
__cpp_lib_invoke 201411 std::invoke <functional>
__cpp_lib_lock_guard_variadic 201510 可変長引数 std::lock_guard <thread>
__cpp_lib_logical_traits 201510 論理演算子型トレイト (std::conjunction, std::disjunction, std::negation) <type_traits>
__cpp_lib_map_try_emplace 201411 std::map::try_emplace <map>
__cpp_lib_nonmember_container_access 201411 非メンバー関数 std::size, std::empty, std::data <array>, <deque>, <forward_list>, <iterator>, <list>, <map>, <regex>, <set>, <string>, <unordered_map>, <unordered_set>, <vector>
__cpp_lib_shared_mutex 201505 std::shared_mutex <shared_mutex>
__cpp_lib_transparent_operators 201510 std::owner_less の柔軟性向上 <functional>, <memory>
__cpp_lib_type_trait_variable_templates 201510 型トレイト変数テンプレート (some_trait_v<T> = some_trait<T>::value) <type_traits>
__cpp_lib_uncaught_exceptions 201411 std::uncaught_exceptions <exception>
__cpp_lib_unordered_map_try_emplace 201411 std::unordered_map::try_emplace <unordered_map>
__cpp_lib_void_t 201411 std::void_t <type_traits>
__cpp_namespace_attributes 201411 名前空間への属性付加を許可 predefined
__cpp_nested_namespace_definitions 201411 入れ子名前空間の定義 predefined
__cpp_noexcept_function_type 201510 例外仕様を型システムの一部にする predefined
__cpp_nontype_template_args 201411 非型テンプレートパラメータの定数式を評価 predefined
__cpp_static_assert 201411 static_assert のメッセージ省略を許可 predefined

参照