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 > 에서 파생돼요.

이 전문화는 Rinput_range를 만족하고, std :: format_kind < R >std :: range_format :: disabled 가 아니며, std :: formattable < ranges :: range_reference_t < R > , CharT >true일 때 활성화돼요.

이 전문화는 const Rinput_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_stringstd::formatter 전문화의 경우, format-specrange-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]

더 알아보기 (Learn more)

cppreference