다음을 통해 공유


<functional>

생성 하는 데 도움이 되는 STL (표준 템플릿 라이브러리) 함수 정의 함수 개체, functors, 및 해당 바인더에 라고도 합니다.함수 개체를 정의 하는 형식의 개체를입니다 operator().개체를 사용 하 여 함수 호출 중에 액세스할 수 있는 추가 정보를 저장 하는 일반적으로 더 함수 개체는 함수 포인터가 될 수 있습니다.

#include <functional>

설명

알고리즘 요구 두 가지 함수 개체: 단항 및 이진.단항 함수 개체를 하나의 인수가 필요 하 고 이진 함수 개체를 두 개의 인수가 필요 합니다.조건자로 함수 개체 및 함수 포인터를 알고리즘에 전달 될 수 있지만 함수 개체도 융통성 있는 범위, 유연성 및 STL의 효율성을 높입니다.예를 들어, 값 함수에를 알고리즘에 전달 되기 전에 바인딩되어야 하는 데 필요한 경우 다음 함수 포인터로 사용할 수 없습니다.어댑터 함수 함수 포인터 값에 바인딩할 수 있는 융통성 있는 함수 개체 변환 합니다.<functional> 헤더 융통성 있는 함수 개체로 호출 하는 멤버 함수를 사용할 수 있는 멤버 함수 어댑터도 포함 됩니다.경우 해당 인수를 지정 하는 중첩된 형식 선언에 적용할 수는 하 고 형식을 반환 하는 함수입니다.C + + 표준이 적응성이 unary_function 또는 binary_function 기본 클래스에서 상속 하는 모든 표준 개체 클래스를 사용 하 여 구현 되는 것이 필요 합니다.함수 개체 및 해당 어댑터는 STL을 C++ 프로그래밍 환경에 통합할 수 있도록 기존 응용 프로그램을 업그레이드 하는 STL 허용 합니다.

TR1 확장

다음 기능은 TR1 Visual C++ 구현에 추가 됩니다.

  • A 시그니처를 호출 합니다. 뒤 괄호로 묶인 쉼표로 구분 된 목록 0 개 이상의 인수 형식으로 반환 형식 이름입니다.

  • A 래퍼를 호출 합니다. 호출 래퍼 형식의 개체입니다.

  • A 형식의 래퍼를 호출 호출할 수 있는 개체를 저장 하 고 해당 개체에 전달 하는 호출 작업을 지 원하는 형식입니다.

  • A 호출할 개체 는 형식의 개체를 호출할 수 있습니다.

  • A 호출할 수 형식 함수, 멤버 함수에 대 한 포인터, 멤버 데이터에 대 한 포인터 또는 개체 수는 함수 호출 연산자의 왼쪽에 즉시 표시 되는 클래스 형식에 대 한 포인터입니다.

  • A 대상 개체 를 호출할 수 개체가 호출 래퍼 개체에서 보유 합니다.

Pseudo-function INVOKE(f, t1, t2, ..., tN) 다음 중 하나를 의미 합니다.

  • (t1.*f)(t2, ..., tN)때 f 클래스의 멤버 함수에 대 한 포인터입니다 T 및 t1 형식의 개체인 T 또는 참조 형식의 개체를 T 또는 파생 형식의 개체에 대 한 참조 T.

  • ((*t1).*f)(t2, ..., tN)때 f 클래스의 멤버 함수에 대 한 포인터는 T 및 t1 이전 항목에서 설명한 형식 중 하나가 아닙니다.

  • t1.*f때 f 클래스 데이터 멤버에 대 한 포인터입니다 T 및 t1 형식의 개체인 T 또는 참조 형식의 개체를 T 또는 파생 형식의 개체에 대 한 참조 T.

  • (*t1).*f때 f 클래스 데이터 멤버에 대 한 포인터입니다 T 및 t1 이전 항목에서 설명한 형식 중 하나가 아닙니다.

  • f(t1, t2, ..., tN)다른 모든 경우에.

Pseudo-function INVOKE(f, t1, t2, ..., tN, R) 즉, INVOKE(f, t1, t2, ..., tN) 으로 암시적으로 변환 된 R.

경우 호출 래퍼는 약한 결과 형식, 형식의 해당 멤버 result_type 의 형식을 기반으로 T 대상 개체 래퍼에 같이:

  • 경우 T 함수에 대 한 포인터입니다 result_type 의 반환 형식에 대 한 동의어입니다 T.

  • 경우 T 멤버 함수에 대 한 포인터는 result_type 의 반환 형식에 대 한 동의어입니다 T.

  • 경우 T 에 대 한 포인터 데이터 멤버는 result_type 선언 된 데이터 멤버 형식에 대 한 동의어입니다.

  • 경우 T 클래스 형식인 멤버 형식에 result_type, 다음 result_type 의 동의어입니다 T::result_type.

  • 그렇지 않으면 멤버가 result_type.

모든 호출 래퍼에 복사 생성자가 있습니다.A 간단한 호출 래퍼 호출 래퍼입니다 할당 연산자는 복사 생성자와 할당 연산자를 하지 않는 예외를 throw 했습니다.A 래퍼 호출 전달 인수 목록을 사용 하 여 호출할 수 있는 래퍼 호출 됩니다 t1, t2, ..., tN여기서 각 ti lvalue입니다.

형식 인수를 가진이 헤더 지원 함수 호출 연산자에 정의 된 호출 래퍼 T1, T2, ..., TN, 어디 0 <= N <= NMAX.이 구현에서 값을 NMAX 10입니다.

169de7b0.collapse_all(ko-kr,VS.110).gif클래스

bad_function_call

호출 되었음을 나타내기 위해 throw 되는 예외를 설명 하는 클래스 operator() 에 있는 함수 개체는 개체가 비어 있기 때문에 실패 했습니다.

binary_negate

지정한 이진 함수의 반환 값을 무효화 하는 멤버 함수를 제공 하는 템플릿 클래스입니다.

binder1st

이진 함수의 첫 번째 인수에 지정 된 값에 바인딩하여 단항 함수 개체에는 이진 함수 개체를 변환 하는 생성자를 제공 하는 템플릿 클래스입니다.

binder2nd

이진이 함수의 두 번째 인수에 지정 된 값에 바인딩하여 단항 함수 개체에는 이진 함수 개체를 변환 하는 생성자를 제공 하는 템플릿 클래스입니다.

const_mem_fun_ref_t

Const 멤버 함수 인수가 참조 인수를 초기화할 때 단항 함수 개체로 호출할 수 있도록 하는 어댑터 클래스입니다.

const_mem_fun_t

Const 멤버 함수 인수가 포인터 인수를 초기화할 때 단항 함수 개체로 호출할 수 있도록 하는 어댑터 클래스입니다.

const_mem_fun1_ref_t

Const 멤버 함수는 참조 인수를 초기화 하는 경우에 이진 함수 개체는 호출 하는 단일 인수를 사용 하는 어댑터 클래스입니다.

const_mem_fun1_t

Const 멤버 함수 포인터 인수를 초기화 하는 경우에 이진 함수 개체는 호출 하는 단일 인수를 사용 하는 어댑터 클래스입니다.

함수

호출할 수 있는 개체를 래핑하는 클래스입니다.

hash

값에 대 한 해시 코드를 계산 하는 클래스입니다.

is_bind_expression

특정 형식이 호출 하 여 생성 되는 경우 테스트 클래스 bind.

is_placeholder

자리 표시자는 특정 형식인 경우 테스트 하는 클래스입니다.

mem_fun_ref_t

허용 하는 어댑터 클래스는 non_const 멤버 함수는 참조 인수를 초기화할 때 단항 함수 개체로 호출 하는 인수를 사용 합니다.

mem_fun_t

수 있도록 하는 어댑터 클래스는 non_const 개체로 포인터 인수를 초기화할 때 단항 함수 호출에 인수를 사용 하는 멤버 함수입니다.

mem_fun1_ref_t

수 있도록 하는 어댑터 클래스는 non_const 멤버 함수는 참조 인수를 초기화 하는 경우에 이진 함수 개체는 호출 하는 단일 인수를 사용 합니다.

mem_fun1_t

수 있도록 하는 어댑터 클래스는 non_const 멤버 함수 포인터 인수를 초기화 하는 경우에 이진 함수 개체는 호출 하는 단일 인수를 사용 합니다.

pointer_to_binary_function

이진 함수 포인터는 융통성 있는 이진 함수로 변환합니다.

pointer_to_unary_function

단항 함수 포인터는 융통성 있는 단항 함수로 변환합니다.

reference_wrapper

에 대 한 참조를 래핑하는 클래스입니다.

result_of

구조체 반환 유형을 호출할 수는 래핑된 개체를 보유 합니다.

unary_negate

지정한 단항 함수의 반환 값을 무효화 하는 멤버 함수를 제공 하는 템플릿 클래스입니다.

169de7b0.collapse_all(ko-kr,VS.110).gif함수

bind

인수는 호출할 개체에 바인딩합니다.

bind1st

이진 함수의 첫 번째 인수에 지정 된 값에 바인딩하여 단항 함수 개체에는 이진 함수 개체를 변환 하는 어댑터를 만드는 도우미 템플릿 함수입니다.

bind2nd

이진이 함수의 두 번째 인수에 지정 된 값에 바인딩하여 단항 함수 개체에는 이진 함수 개체를 변환 하는 어댑터를 만드는 도우미 템플릿 함수입니다.

bit_and

이항 AND 두 매개 변수를 반환합니다.

bit_or

이진 또는 두 개의 매개 변수를 반환합니다.

bit_xor

이진 XOR는 두 개의 매개 변수를 반환합니다.

cref

상수를 생성 reference_wrapper 에서 인수.

mem_fn

간단한 호출 래퍼를 생성합니다.

mem_fun

도우미 템플릿 함수 포인터 인수를 초기화 하는 경우 멤버 함수에 대해 함수 객체 어댑터를 만드는 데 사용 합니다.

mem_fun_ref

참조 인수를 초기화 하는 경우 멤버 함수에 대해 함수 객체 어댑터를 만드는 데 사용 되는 도우미 템플릿 함수입니다.

not1

1 진 술 부의 보수를 반환합니다.

사용 하지 않는

이진 술 부의 보수를 반환합니다.

ptr_fun

도우미 함수 템플릿 변환 단항 및 이진 함수에 포인터를 각각 단항 및 이진 융통성 있는 기능으로 사용.

ref

생성 된 reference_wrapper 에서 인수.

스왑

두 교체 function 개체입니다.

169de7b0.collapse_all(ko-kr,VS.110).gifStructs

binary_function

이진 함수 개체에서 제공 하는 파생된 클래스에서 상속 될 수 있는 형식을 정의 하는 빈 기본 클래스입니다.

분할

지정한 값 형식의 요소에는 나누기의 산술 연산을 수행 하는 미리 정의 된 함수 개체 클래스를 제공 합니다.

equal_to

지정 된 형식의 값을 다른 값으로 같은지 여부를 테스트 이진 않음.

지정 된 형식의 값이 있는지 여부를 테스트 하는 이진 술 부는 해당 형식의 다른 값 보다 큽니다.

greater_equal

해당 형식의 다른 값 보다 크거나 같은 값을 지정 된 형식 인지 여부를 테스트 하는 이진 조건부.

더 적게

지정 된 형식의 값이 있는지 여부를 테스트 하는 이진 술 부는 해당 형식의 다른 값 보다 작습니다.

less_equal

지정 된 형식의 값이 있는지 여부를 테스트 하는 이진 조건부 해당 형식의 다른 값 보다 작거나 같은 경우

logical_and

요소에 지정 된 값 형식 및 사실에 대 한 테스트 결과의 falsity에 논리 작업을 함께 수행 하는 미리 정의 된 함수 개체 클래스를 제공 합니다.

logical_not

또는 요소에 지정 된 값 형식 및 사실에 대 한 테스트 결과의 falsity의 부정 논리 작업을 수행 하는 미리 정의 된 함수 개체 클래스를 제공 합니다.

logical_or

결과의 falsity 요소에 지정 된 값 형식 및 사실에 대 한 테스트 나 논리 연산의 논리합을 수행 하는 미리 정의 된 함수 개체 클래스를 제공 합니다.

빼기

값을 지정한 형식의 요소에서 빼기의 산술 연산을 수행 하는 미리 정의 된 함수 개체 클래스를 제공 합니다.

modulus

산술 연산 모듈러스 값을 지정한 형식의 요소에서 수행 하는 미리 정의 된 함수 개체 클래스를 제공 합니다.

곱합니다.

값을 지정한 형식의 요소에서 곱셈은 산술 연산을 수행 하는 미리 정의 된 함수 개체 클래스를 제공 합니다.

부정

음수 값 요소를 반환 하는 미리 정의 된 함수 개체 클래스를 제공 합니다.

not_equal_to

다른 형식의 값으로 지정 된 형식의 값이 있는지 여부를 테스트 하는 이진 조건부 같지 않은 경우

더하기

지정 된 값 형식 요소를 더하기의 산술 연산 수행 하는 미리 정의 된 함수 개체는 클래스를 제공 합니다.

unary_function

단항 함수 개체를 제공 하는 파생된 클래스에서 상속 될 수 있는 형식을 정의 하는 빈 기본 클래스입니다.

169de7b0.collapse_all(ko-kr,VS.110).gif개체

_1

바꿀 수 있는 인수에 대 한 자리 표시자입니다.

169de7b0.collapse_all(ko-kr,VS.110).gif연산자

연산자 = =

호출할 개체의 같음 비교를 허용 하지 않습니다.

연산자! =

같지 않음 비교를 호출할 개체의 허용 하지 않습니다.

참고 항목

참조

표준 C++ 라이브러리에서 스레드로부터의 안전성

표준 템플릿 라이브러리

기타 리소스

<functional> 멤버

헤더 파일