std:: function_ref
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<functional>
|
||
|
template
<
class
...
>
class function_ref ; // 정의되지 않음 |
(1) | (C++26부터) |
|
template
<
class
R,
class
...
Args
>
class
function_ref
<
R
(
Args...
)
>
;
|
(2) | (C++26부터) |
클래스 템플릿
std::function_ref
는 비소유(non-owning) 함수 래퍼입니다.
std::function_ref
객체는
Callable
대상(target)
에 대한 참조를 저장하고 호출할 수 있습니다 - 함수,
람다 표현식
,
바인드 표현식
, 또는 기타 함수 객체들입니다. 단, 멤버 함수 포인터와 멤버 객체 포인터는 제외됩니다.
std::
nontype
는 함수 포인터, 멤버 함수 포인터, 그리고 멤버 객체 포인터를 전달하여
std::function_ref
를 생성하는 데 사용될 수 있습니다.
std::function_ref
는 템플릿 매개변수에 제공된 모든 가능한 조합의
cv-qualifiers
(
volatile
제외)와
noexcept-specifiers
를 지원합니다.
std::function_ref
의 모든 특수화는
TriviallyCopyable
요구 사항을 만족하며
copyable
개념을 충족하는
TriviallyCopyable
타입입니다.
목차 |
멤버 타입
| 멤버 | 정의 |
BoundEntityType
(private)
|
지정되지 않음
TriviallyCopyable
요구 사항을 충족하고
copyable
개념을 만족하며 객체 포인터 값이나 함수 포인터 값을 저장할 수 있는 타입
( 설명 전용 멤버 타입* ) |
FunctionPointerType
(private)
|
R
(
*
)
(
BoundEntityType
, Args
&&
...
)
noexcept
(
noex
)
여기서
noex
는
true
(
|
데이터 멤버
| 멤버 | 정의 |
BoundEntityType
bound-entity
|
바인딩된 엔티티 객체
( 설명 전용 멤버 객체* ) |
FunctionPointerType
thunk-ptr
|
저장된 함수 포인터
( 설명 전용 멤버 객체* ) |
멤버 함수
새로운
function_ref
객체를 생성합니다
(public member function) |
|
function_ref
를 할당합니다
(public member function) |
|
function_ref
의 저장된 썽크(thunk)를 호출합니다
(public member function) |
추론 가이드
참고 사항
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_function_ref
|
202306L
|
(C++26) |
std::function_ref
|
예제
|
이 섹션은 불완전합니다
이유: 예시 |
참고 항목
|
(C++11)
|
복사 생성 가능한 모든 호출 가능 객체의 복사 가능 래퍼
(클래스 템플릿) |
|
(C++26)
|
주어진 호출 시그니처에서 한정자를 지원하는 복사 생성 가능한 모든 호출 가능 객체의 복사 가능 래퍼
(클래스 템플릿) |
|
(C++23)
|
주어진 호출 시그니처에서 한정자를 지원하는 모든 호출 가능 객체의 이동 전용 래퍼
(클래스 템플릿) |
|
(C++26)
|
값 생성 태그
(태그) |