Namespaces
Variants

C++ standard libraries extensions, version 3

From cppreference.net

C++ 라이브러리 기본 확장 버전 3, ISO/IEC TS 19568:2024은 버전 1 버전 2 에서 정의된 구성요소들에 추가적으로 다음과 같은 새로운 C++ 표준 라이브러리 구성요소들을 정의합니다.

C++17/20에 통합된 컴포넌트와 다음 컴포넌트들은 LFTS v3에서 제거되었습니다:

스코프 가드

헤더에 정의됨 <experimental/scope>
함수 객체를 래핑하고 스코프를 벗어날 때 호출함
(클래스 템플릿)
함수 객체를 래핑하고 예외를 통해 스코프를 벗어날 때 호출함
(클래스 템플릿)
함수 객체를 래핑하고 정상적으로 스코프를 벗어날 때 호출함
(클래스 템플릿)
범용 RAII 리소스 핸들 래퍼
(클래스 템플릿)

기능 테스트 매크로

__cpp_lib_experimental_memory_resources
최소 201803 값을 가지며 resource_adaptor 지원을 나타냄
(매크로 상수)
__cpp_lib_experimental_function_polymorphic_allocator
최소 202211 값을 가지며 std:: pmr :: polymorphic_allocator <> std::experimental::function 에 사용됨을 나타냄
(매크로 상수)
정의된 헤더 <experimental/scope>
__cpp_lib_experimental_scope
최소 201902 값을 가지며 스코프 가드 지원을 나타냄
(매크로 상수)

참고 사항

__cpp_lib_experimental_memory_resources 의 값이 LFTS v3에서 증가되었습니다. 이는 resource_adaptor 설계가 std::pmr::memory_resource 기반으로 재구성되었기 때문입니다.