std::basic_format_arg<Context>:: handle
|
헤더에 정의됨
<format>
|
||
|
template
<
class
Context
>
class basic_format_arg < Context > :: handle ; |
(C++20 이후) | |
사용자 정의 타입의 객체를 서식 지정할 수 있게 하는 타입 소거 래퍼입니다.
handle
객체는 일반적으로
std::make_format_args
에 의해 생성되며
std::visit_format_arg
또는
visit
멤버 함수를 통해
std::basic_format_arg
(C++26부터)
를 통해 접근됩니다.
목차 |
데이터 멤버
handle
의 일반적인 구현은
TriviallyCopyable
이며 오직 두 개의 비정적 데이터 멤버만 저장합니다:
- 객체의 const void * 포인터, 그리고
-
void
(
*
)
(
std::
basic_format_parse_context
<
Context
::
char_type
>
&
, Context
&
,
const
void
*
)
함수 포인터로, 아래에서 설명하는
format멤버 함수에서 필요한 연산을 수행하는 함수를 가리킵니다.
멤버 함수
|
format
(C++20)
|
참조된 객체를 주어진 컨텍스트로 서식화합니다
(public member function) |
std::basic_format_arg<Context>::handle:: format
|
void
format
(
std::
basic_format_parse_context
<
Context
::
char_type
>
&
parse_ctx,
Context & format_ctx ) const ; |
(C++20 이후) | |
다음을 정의합니다:
-
T를 서식 지정 인자의 타입으로, -
TD를 std:: remove_const_t < T > 로, -
TQ를 const TD 가 __formattable_with < Context > 를 만족하면 const TD , 그렇지 않으면TD로, -
ref를 서식 지정 인자에 대한 참조로 설정합니다.
다음 코드와 동일합니다:
typename
Context
::
template
formatter_type
<
TD
>
f
;
parse_ctx.
advance_to
(
f.
parse
(
parse_ctx
)
)
;
format_ctx.
advance_to
(
f.
format
(
const_cast
<
TQ
&
>
(
static_cast
<
const
TD
&
>
(
ref
)
)
, format_ctx
)
)
;
참고 사항
A
handle
는 형식화된 인수에 대해 참조 의미론을 가지며 해당 수명을 연장하지 않습니다. 인수가
handle
보다 더 오래 존재하도록 보장하는 것은 프로그래머의 책임입니다. 일반적으로
handle
은 포맷팅 함수 내에서만 사용됩니다.
참고 항목
|
(C++20)
|
사용자 정의 포매터를 위한 포매팅 인자에 대한 접근을 제공하는 클래스 템플릿
(클래스 템플릿) |
|
(C++20)
(C++20)
|
모든 포매팅 인자를 참조하는 타입 삭제 객체를 생성하며,
format_args
로 변환 가능함
(함수 템플릿) |