Namespaces
Variants

std:: function_ref

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
헤더 파일에 정의됨 <functional>
template < class ... >
class function_ref ; // 정의되지 않음
(1) (C++26부터)
template < class R, class ... Args >

class function_ref < R ( Args... ) > ;
template < class R, class ... Args >
class function_ref < R ( Args... ) noexcept > ;
template < class R, class ... Args >
class function_ref < R ( Args... ) const > ;
template < class R, class ... Args >

class function_ref < R ( Args... ) const noexcept > ;
(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 ( std::function_ref 의 템플릿 매개변수에서 함수 시그니처의 일부로 noexcept 가 존재하는 경우), 그렇지 않으면 false
( 설명 전용 멤버 타입* )

데이터 멤버

멤버 정의
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)
복사 생성 가능한 모든 호출 가능 객체의 복사 가능 래퍼
(클래스 템플릿)
주어진 호출 시그니처에서 한정자를 지원하는 복사 생성 가능한 모든 호출 가능 객체의 복사 가능 래퍼
(클래스 템플릿)
주어진 호출 시그니처에서 한정자를 지원하는 모든 호출 가능 객체의 이동 전용 래퍼
(클래스 템플릿)
값 생성 태그
(태그)