format_ranges_formatter
format_ranges_formatter (범위 포맷터)
이 페이지는 C++23에서 추가된 std::formatter의 범위 타입 전문화에 대해 설명해요. 이 전문화를 통해 사용자는 형식화 함수를 사용하여 범위를 요소의 모음이나 문자열로 된 텍스트 표현으로 변환할 수 있어요. 또한 range-default-formatter의 다양한 전문화와 형식 지정 구문도 다루어요.
출처: cppreference
본문
<format> 헤더에 정의됨 |
||
|---|---|---|
template < ranges :: input_range R , class CharT > requires ( std :: format_kind < R > != std :: range_format :: disabled ) && std :: formattable < ranges :: range_reference_t < R > , CharT > struct formatter < R , CharT > ; |
(since C++23) | |
| 헬퍼 템플릿 | ||
template < std :: range_format K , ranges :: input_range R , class CharT > struct /*range-default-formatter*/ ; |
( 설명 전용* ) |
범위 타입에 대한 std::formatter의 템플릿 전문화는 사용자가 형식화 함수를 사용하여 범위를 요소의 모음이나 문자열로 된 텍스트 표현으로 변환할 수 있게 해요.
이 전문화는 range-default-formatter < std :: format_kind < R > , R , CharT > 에서 파생돼요.
이 전문화는 R이 input_range를 만족하고, std :: format_kind < R > 가 std :: range_format :: disabled 가 아니며, std :: formattable < ranges :: range_reference_t < R > , CharT > 가 true일 때 활성화돼요.
이 전문화는 const R이 input_range를 모델링하고 ranges :: range_reference_t < const R > 가 std :: formattable < CharT > 를 모델링한다면 Formatter 요구 사항을 충족해요. 그리고 항상 BasicFormatter 요구 사항을 충족해요.
Format specification
range-format-spec의 구문은 다음과 같아요.
range-fill-and-align (optional) width (optional) n (optional) range-type (optional) range-underlying-spec (optional) |
|---|
구문에 대한 자세한 내용은 range format specification 에 설명되어 있어요.
std :: format_kind < R > 가 std :: range_format :: string 또는 std :: range_format :: debug_string 인 std::formatter 전문화의 경우, format-spec은 range-format-spec 대신 std-format-spec이에요 (이때 기본 포맷터로 std :: formatter < std :: basic_string < CharT > , CharT > 를 사용해요).
Specializations of range-default-formatter
range-default-formatter <std::range_format::sequence> (C++23) |
sequence 형태의 범위를 위한 형식화 유틸리티 (클래스 템플릿 전문화) [edit] |
|---|---|
range-default-formatter <std::range_format::map> (C++23) |
map 형태의 범위를 위한 형식화 유틸리티 (클래스 템플릿 전문화) [edit] |
range-default-formatter <std::range_format::set> (C++23) |
set 형태의 범위를 위한 형식화 유틸리티 (클래스 템플릿 전문화) [edit] |
range-default-formatter <std::range_format::string> range-default-formatter <std::range_format::debug_string> (C++23) |
string 또는 이스케이프된 string 형태의 범위를 위한 형식화 유틸리티 (클래스 템플릿 전문화) [edit] |
Example
| 이 섹션은 불완전해요. 이유: 예제 |
|---|
See also
formatter (C++20) |
주어진 타입에 대한 형식화 규칙을 정의해요 (클래스 템플릿) [edit] |
|---|---|
range_formatter (C++23) |
범위 타입에 대한 std::formatter 전문화를 구현하는 데 도움을 주는 클래스 템플릿 (클래스 템플릿) [edit] |