Experimental library header <experimental/ranges/utility>
From cppreference.net
<
cpp
|
header
|
experimental
C++
Standard library headers
Experimental library headers
| Execution P2300 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <experimental/execution> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Filesystem TS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <experimental/filesystem> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parallelism TS (v1, v2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Library Fundamentals TS (v1, v2, v3) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Concurrency TS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ranges TS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Coroutines TS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
experimental/coroutine
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Networking TS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Reflection TS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <experimental/reflect> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
이 헤더는 ranges 라이브러리의 일부입니다.
목차 |
유틸리티 컴포넌트
|
다음 namespace에 정의됨
std::experimental::ranges
|
|
|
두 객체의 값을 교환
(customization point object) |
|
|
인자를 새로운 값으로 대체하고 이전 값을 반환
(function template) |
|
태그 개념
|
다음 네임스페이스에 정의됨
std::experimental::ranges
|
|
|
타입이 태그 지정자임을 명시함
(concept) |
|
|
타입이 태그 지정자와 해당 요소 타입을 나타냄을 명시함
(concept) |
|
태그된 페어
|
다음 네임스페이스에 정의됨
std::experimental::ranges
|
|
|
튜플과 유사한 타입에 이름 있는 접근자를 추가함
(클래스 템플릿) |
|
|
tagged
std::pair
의 별칭 템플릿
(별칭 템플릿) |
|
tagged_pair
생성을 위한 편의 함수
(함수 템플릿) |
|
시놉시스
namespace std { namespace experimental { namespace ranges { inline namespace v1 { namespace { constexpr /* 지정되지 않음 */ swap = /* 지정되지 않음 */; } template<MoveConstructible T, class U = T> requires Assignable<T&, U> constexpr T exchange(T& obj, U&& new_val) noexcept(/* 정의 참조 */); template <class T> concept bool TagSpecifier = /* 정의 참조 */; template <class F> concept bool TaggedType = /* 정의 참조 */; template <class Base, TagSpecifier... Tags> requires sizeof...(Tags) <= std::tuple_size<Base>::value struct tagged; template <TaggedType T1, TaggedType T2> using tagged_pair = /* 정의 참조 */; template <TagSpecifier Tag1, TagSpecifier Tag2, class T1, class T2> constexpr /* 정의 참조 */ make_tagged_pair(T1&& x, T2&& y); }}}} namespace std { template <class Base, class... Tags> struct tuple_size<experimental::ranges::tagged<Base, Tags...>>; template <size_t N, class Base, class... Tags> struct tuple_element<N, experimental::ranges::tagged<Base, Tags...>>; }