実験的なライブラリヘッダー <experimental/ranges/type_traits>
From cppreference.com
< cpp | header | experimental
このヘッダーは、ranges ライブラリの一部です。
[編集] メタプログラミングと型特性
std::experimental::ranges 名前空間で定義されます。 | |
| 型のオブジェクトが同じまたは異なる型のオブジェクトとスワップ可能であるかをチェックする (クラステンプレート) | |
| 型の共通参照型を決定します。 (class template) | |
| 型の共通型を決定します。 (class template) | |
[編集] シノプシス
namespace std { namespace experimental { namespace ranges { inline namespace v1 { template <class T, class U> struct is_swappable_with; template <class T> struct is_swappable; template <class T, class U> struct is_nothrow_swappable_with; template <class T> struct is_nothrow_swappable; template <class T, class U> constexpr bool is_swappable_with_v = is_swappable_with<T, U>::value; template <class T> constexpr bool is_swappable_v = is_swappable<T>::value; template <class T, class U> constexpr bool is_nothrow_swappable_with_v = is_nothrow_swappable_with<T, U>::value; template <class T> constexpr bool is_nothrow_swappable_v = is_nothrow_swappable<T>::value; template <class... T> struct common_type; template <class T, class U, template <class> class TQual, template <class> class UQual> struct basic_common_reference { }; template <class... T> struct common_reference; template <class... T> using common_type_t = typename common_type<T...>::type; template <class... T> using common_reference_t = typename common_reference<T...>::type; }}}}