reference_wrapper Class
에 대 한 참조를 래핑합니다.
template<class Ty>
class reference_wrapper
: public unary_function<T1, Ret> // see below
: public binary_function<T1, T2, Ret> // see below
{
public:
typedef Ty type;
typedef T0 result_type; // see below
reference_wrapper(Ty&);
Ty& get() const;
operator Ty&() const;
template<class T1, class T2, ..., class TN>
typename result_of<T(T1, T2, ..., TN)>::type
operator()(T1&, T2&, ..., TN&);
private:
Ty *ptr; // exposition only
};
설명
A reference_wrapper<Ty> 생성 및 할당, 복사본이 며 유형의 개체를 가리키는 포인터를 보유 Ty.
특수화 reference_wrapper<Ty> 에서 파생 된 std::unary_function<T1, Ret> (따라서 중첩된 형식을 정의 result_type 의 동의어로 Ret 및 중첩된 형식이 argument_type 의 동의어로 T1) 경우에만 형식 Ty 입니다:
함수 형식 또는 포인터 형식의 하나의 인수를 사용 하는 함수 형식 T1 를 반환 하 고 Ret. 또는
멤버 함수에 대 한 포인터 Ret T::f() cv, 어디 cv 나타내는 멤버 함수의 cv 한정자입니다. the type T1 is cvT*; 또는
클래스 형식에서 파생 된 unary_function<T1, Ret>.
특수화 reference_wrapper<Ty> 에서 파생 된 std::binary_function<T1, T2, Ret> (따라서 중첩된 형식을 정의 result_type 의 동의어로 Ret, 중첩 형식 first_argument_type 의 동의어로 T1, 및 중첩된 형식이 second_argument_type 의 동의어로 T2) 경우에만 형식 Ty 입니다:
함수 형식이 나 포인터 형식의 두 개의 인수를 갖는 함수 형식 T1 및 T2 를 반환 하 고 Ret. 또는
멤버 함수에 대 한 포인터 Ret T::f(T2) cv, 어디 cv 나타내는 멤버 함수의 cv 한정자입니다. the type T1 is cvT*; 또는
클래스 형식에서 파생 된 binary_function<T1, T2, Ret>.
생성자
reference_wrapper를 생성합니다. |
형식 정의
약한 결과 형식 래핑된 참조입니다. |
|
래핑된 참조 유형을 지정 합니다. |
멤버 함수
줄 바꿈된에 대 한 참조를 가져옵니다. |
연산자
래핑된 참조 포인터를 가져옵니다. |
|
래핑된 참조를 호출합니다. |
요구 사항
헤더: <functional>
네임 스페이스: std