Namespaces
Variants

std::meta::parameters_of

cppreference.net에서 발췌
 
 
 
리플렉션 라이브러리
 
리플렉션 타입 및 쿼리
리플렉션 쿼리
리플렉션 레이아웃 쿼리
타입 속성
타입 속성 쿼리
 
헤더 <meta>
consteval std::vector<std::meta::info> parameters_of( std::meta::info r );
에 정의됨 (C++26 이후)

만약 r이 함수를 나타내면, 해당 함수 매개변수의 리플렉션을 포함하는 벡터를 반환합니다. 만약 r이 함수 타입을 나타내면, 해당 매개변수 타입의 리플렉션을 포함하는 벡터를 반환합니다.

두 경우 모두, 벡터의 요소는 매개변수가 나타나는 순서대로 정렬됩니다.

매개변수

r - 함수 또는 함수 타입을 나타내는 리플렉션

반환값

리플렉션의 std::vector입니다.

예외

std::meta::exception을 던집니다. 단, r이 함수 또는 함수 타입을 나타내지 않는 경우에만 해당합니다.

참고 사항

함수 매개변수의 리플렉션은 매개변수의 타입, 식별자(있는 경우), 그리고 어노테이션 목록에 대해 질의할 수 있습니다. 함수 본문 내 매개변수 변수의 값을 얻으려면 std::meta::variable_of를 참조하십시오.

매개변수의 타입( std::meta::type_of 에 의해 반환된)은 cv-한정되지 않음이며, 이는 해당 변수의 타입과 다를 수 있습니다:

void f(const int x)
{
    constexpr auto rp = std::meta::parameters_of(^^f)[0];
    static_assert(std::meta::type_of(rp) == ^^int);

    constexpr auto rv = std::meta::variable_of(rp);
    static_assert(&[:rv:] == &x);
    static_assert(std::meta::type_of(rv) == ^^const int);
}

예제

같이 보기

(C++26)
함수 정의에서 리플렉션된 함수 매개변수의 변수를 얻습니다
(함수)
리플렉션된 함수의 반환 타입을 얻습니다
(함수)