Namespaces
Variants

Experimental library header <experimental/ranges/type_traits>

From cppreference.net
Standard library headers
Experimental library headers
Execution P2300
<experimental/execution>
Filesystem TS
<experimental/filesystem>
Parallelism TS (v1, v2)
experimental/algorithm
experimental/execution_policy
experimental/exception_list
experimental/numeric
<experimental/simd>
experimental/task_block
Library Fundamentals TS (v1, v2, v3)
experimental/algorithm
<experimental/any>
experimental/array
experimental/chrono
experimental/deque
experimental/forward_list
<experimental/functional>
experimental/future
experimental/iterator
experimental/list
experimental/map
experimental/memory
<experimental/memory_resource>
experimental/numeric
<experimental/optional>
experimental/propagate_const
experimental/random
experimental/ratio
experimental/regex
experimental/scope
experimental/set
experimental/source_location
experimental/string
<experimental/string_view>
experimental/system_error
experimental/tuple
experimental/type_traits
experimental/unordered_map
experimental/unordered_set
experimental/utility
experimental/vector

Concurrency TS
experimental/atomic
experimental/barrier
experimental/future
experimental/latch
Ranges TS
Coroutines TS
experimental/coroutine
Networking TS
experimental/buffer
experimental/executor
experimental/internet
experimental/io_context
<experimental/net>
experimental/netfwd
experimental/socket
experimental/timer
Reflection TS
<experimental/reflect>

이 헤더는 ranges 라이브러리의 일부입니다.

메타프로그래밍과 타입 트레이트

다음 네임스페이스에 정의됨 std::experimental::ranges
특정 타입의 객체가 동일한 타입이나 다른 타입의 객체와 교환 가능한지 확인
(클래스 템플릿)
타입 집합의 공통 참조 타입을 결정
(클래스 템플릿)
타입 집합의 공통 타입을 결정
(클래스 템플릿)

시놉시스

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;
}}}}