Namespaces
Variants

std::meta::reflect_constant

cppreference.net에서
< cpp | meta
 
 
 
리플렉션 라이브러리
 
리플렉션 형식 및 쿼리
리플렉션 쿼리
리플렉션 레이아웃 쿼리
형식 속성
형식 속성 쿼리
 
헤더에 정의됨 <meta>
template< class T >
consteval std::meta::info reflect_constant( T expr );
(C++26부터)

다음 중 하나를 나타내는 리플렉션을 반환합니다: expr의 값 (만약 T가 ScalarType인 경우) 또는 템플릿 매개변수 객체 (값 expr를 가진) (만약 T가 클래스 형식인 경우).

공식적으로, 다음과 같이 정의합니다:

  • V 은:
  • 만약 T가 클래스 형식이면, 템플릿 인수 동등한 객체를 값 expr로;
  • 그렇지 않으면, expr의 값;
  • TCls은 발명된 템플릿 template<T P> struct TCls;

이 함수는 std::meta::template_arguments_of(^^TCls<V>)[0]을 반환합니다.

프로그램은 다음 경우에 잘못된 형식입니다: std::is_copy_constructible_v<T>이 거짓이거나, T이 cv-미자격 구조적 형식이 아니거나, 또는 T이 참조 형식인 경우.

매개변수

expr - 구조적 형식의 값

반환값

위에서 설명한 리플렉션.

예외

발생시킴 std::meta::exception 만약 TCls<V>가 유효하지 않은 경우.

예제

참조

컴파일 시간 문자열을 정적 저장소로 승격하여 정적 문자열을 나타내는 리플렉션을 반환합니다
(함수 템플릿)
컴파일 시간 배열을 정적 저장소로 승격하여 정적 배열을 나타내는 리플렉션을 반환합니다
(함수 템플릿)
객체를 나타내는 리플렉션을 반환하며, 상수 템플릿 인수로 사용하기에 적합합니다
(함수 템플릿)
함수를 나타내는 리플렉션을 반환하며, 상수 템플릿 인수로 사용하기에 적합합니다
(함수 템플릿)
리플렉션된 템플릿에서 리플렉션된 인수를 대체한 결과의 리플렉션을 얻습니다
(함수 템플릿)