C++ standard libraries extensions, version 2
From cppreference.net
<
cpp
|
experimental
C++ 라이브러리 기본 확장 버전 2, ISO/IEC TS 19568:2017은 버전 1 에서 정의된 구성요소들에 추가로 다음과 같은 새로운 C++ 표준 라이브러리 구성요소들을 정의합니다:
목차 |
C++ 탐지 관용구
|
헤더 파일에 정의됨
<experimental/type_traits>
|
|
|
template-id
가 올바른 형식인지 감지하는
앨리어스 템플릿
(alias template) |
|
|
detected_t
가 실패 시 반환하는 클래스 타입
(class) |
|
포인터와 유사한 객체를 위한 const 전파 래퍼
|
헤더 파일에 정의됨
<experimental/propagate_const>
|
|
|
포인터와 유사한 객체를 위한 const 전파 래퍼
(클래스 템플릿) |
|
비소유 포인터
|
헤더 파일에 정의됨
<experimental/memory>
|
|
|
소유권을 가지지 않는 포인터를 나타내는 클래스
(클래스 템플릿) |
|
std::array
생성
|
헤더 파일에 정의됨
<experimental/array>
|
|
|
(library fundamentals TS v2)
|
인자들로부터 크기와 선택적으로 요소 타입이 추론되는
std::array
객체를 생성함
(함수 템플릿) |
ostream_joiner
|
헤더 파일에 정의됨
<experimental/iterator>
|
|
|
인접한 요소들을 구분자로 분리하여 출력 스트림에 연속적인 요소들을 기록하는 출력 반복자
(클래스 템플릿) |
|
간단한 난수 생성 기능
각 스레드마다 스레드별 엔진 으로 std::default_random_engine 타입의 예측 불가능한 상태로 초기화된 엔진이 유지되며, 아래 함수들에서 사용됩니다.
|
헤더에 정의됨
<experimental/random>
|
|
|
지정된 범위 내의 임의 정수를 생성함
(함수 템플릿) |
|
|
스레드별 난수 엔진을 재시드함
(함수) |
|
|
헤더에 정의됨
<experimental/algorithm>
|
|
|
시퀀스에서 n개의 임의 요소를 선택함
(함수 템플릿) |
|
|
범위 내 요소들을 무작위로 재정렬함
(함수 템플릿) |
|
기능 테스트 매크로
|
헤더에 정의됨
<experimental/type_traits>
|
|
|
__cpp_lib_experimental_logical_traits
|
최소
201511
값은 논리 연산자 타입 특성이 지원됨을 나타냄
(매크로 상수) |
|
__cpp_lib_experimental_detect
|
최소
201505
값은 검출 관용구가 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/propagate_const>
|
|
|
__cpp_lib_experimental_propagate_const
|
최소
201505
값은
propagate_const
가 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/functional>
|
|
|
__cpp_lib_experimental_not_fn
|
최소
201406
값은
not_fn
가 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/memory>
|
|
|
__cpp_lib_experimental_observer_ptr
|
최소
201411
값은
observer_ptr
가 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/array>
|
|
|
__cpp_lib_experimental_make_array
|
최소
201505
값은
make_array
가 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/iterator>
|
|
|
__cpp_lib_experimental_ostream_joiner
|
최소
201411
값은
ostream_joiner
가 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/vector>
|
|
|
__cpp_lib_experimental_erase_if
|
최소
201411
값은 균일 컨테이너 삭제가 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/numeric>
|
|
|
__cpp_lib_experimental_gcd_lcm
|
최소
201411
값은
gcd
와
lcm
이 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/random>
|
|
|
__cpp_lib_experimental_randint
|
최소
201511
값은
randint
및 관련 함수들이 지원됨을 나타냄
(매크로 상수) |
|
헤더에 정의됨
<experimental/source_location>
|
|
|
__cpp_lib_experimental_source_location
|
최소
201505
값은
source_location
가 지원됨을 나타냄
(매크로 상수) |
C++17에 통합됨
라이브러리 펀더멘털 v2의 다음 구성 요소들이 C++17 표준에 채택되었습니다.
|
헤더에 정의됨
<experimental/type_traits>
|
|
void
에 대한 가변 앨리어스 템플릿
(앨리어스 템플릿) |
|
|
헤더에 정의됨
<experimental/type_traits>
|
|
|
가변 논리 AND 메타함수
(클래스 템플릿) |
|
|
가변 논리 OR 메타함수
(클래스 템플릿) |
|
|
논리 NOT 메타함수
(클래스 템플릿) |
|
|
헤더에 정의됨
<experimental/functional>
|
|
|
보유한 함수 객체의 결과의 보수를 반환하는 함수 객체를 생성함
(함수 템플릿) |
|
|
헤더에 정의됨
<experimental/numeric>
|
|
constexpr
두 정수의 최대공약수를 반환하는 함수 템플릿
(함수 템플릿) |
|
constexpr
두 정수의 최소공배수를 반환하는 함수 템플릿
(함수 템플릿) |
|
C++20에 통합됨
라이브러리 펀더멘털 v2의 다음 구성 요소들이 C++20 표준에 채택되었습니다.
통합 컨테이너 삭제
|
헤더 파일에 정의됨
<experimental/string>
|
|
|
특정 값과 동일한 모든 요소를
std::basic_string
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::basic_string
에서 삭제합니다
(함수 템플릿) |
|
|
헤더 파일에 정의됨
<experimental/deque>
|
|
|
특정 값과 같은 모든 요소를
std::deque
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::deque
에서 삭제합니다
(함수 템플릿) |
|
|
헤더 파일에 정의됨
<experimental/vector>
|
|
|
특정 값과 같은 모든 요소를
std::vector
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::vector
에서 삭제합니다
(함수 템플릿) |
|
|
헤더 파일에 정의됨
<experimental/forward_list>
|
|
|
특정 값과 동일한 모든 요소를
std::forward_list
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::forward_list
에서 삭제합니다
(함수 템플릿) |
|
|
헤더에 정의됨
<experimental/list>
|
|
|
특정 값과 같은 모든 요소를
std::list
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::list
에서 삭제합니다
(함수 템플릿) |
|
|
헤더 파일에 정의됨
<experimental/map>
|
|
|
조건자를 만족하는 모든 요소를
std::map
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::multimap
에서 삭제합니다
(함수 템플릿) |
|
|
헤더에 정의됨
<experimental/set>
|
|
|
조건자를 만족하는 모든 요소를
std::set
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::multiset
에서 삭제합니다
(함수 템플릿) |
|
|
헤더에 정의됨
<experimental/unordered_map>
|
|
|
조건자를 만족하는 모든 요소를
std::unordered_map
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::unordered_multimap
에서 삭제합니다
(함수 템플릿) |
|
|
헤더 파일에 정의됨
<experimental/unordered_set>
|
|
|
조건자를 만족하는 모든 요소를
std::unordered_set
에서 삭제합니다
(함수 템플릿) |
|
|
조건자를 만족하는 모든 요소를
std::unordered_multiset
에서 삭제합니다
(함수 템플릿) |
|
소스 코드 정보 캡처
|
헤더 파일에 정의됨
<experimental/source_location>
|
|
|
파일 이름, 줄 번호, 함수 이름 등 소스 코드에 대한 정보를 나타내는 클래스
(클래스) |
|
std::array
변환
|
헤더 파일에 정의됨
<experimental/array>
|
|
|
내장 배열로부터
std::array
객체를 생성함
(함수 템플릿) |
|