Namespaces
Variants

std:: collate_byname

From cppreference.net
헤더에 정의됨 <locale>
template < class CharT >
class collate_byname : public std:: collate < CharT > ;

std::collate_byname 는 로케일별 문자열 비교 및 해싱을 캡슐화하는 std::collate 패싯입니다. std::collate 와 마찬가지로 std::regex 에 적용하거나 std::locale::operator() 를 통해 문자열 비교 조건자를 기대하는 모든 표준 알고리즘에 직접 적용할 수 있습니다.

목차

특수화

표준 라이브러리는 다음과 같은 특수화를 제공함을 보장합니다:

헤더 파일에 정의됨 <locale>
std :: collate_byname < char > 로케일별 멀티바이트 문자열 정렬
std :: collate_byname < wchar_t > 로케일별 와이드 문자열 정렬

멤버 함수

(constructor)
새로운 collate_byname 패싯을 생성합니다
(public member function)
(destructor)
collate_byname 패싯을 파괴합니다
(protected member function)

std::collate_byname:: collate_byname

explicit collate_byname ( const char * name, std:: size_t refs = 0 ) ;
explicit collate_byname ( const std:: string & name, std:: size_t refs = 0 ) ;
(C++11부터)

지정된 name 을 가진 로케일에 대한 새로운 std::collate_byname 패싯을 생성합니다.

refs 는 리소스 관리에 사용됩니다: refs == 0 인 경우, 구현은 이 패싯을 포함하는 마지막 std::locale 객체가 소멸될 때 패싯을 파괴합니다. 그렇지 않으면 객체는 파괴되지 않습니다.

매개변수

name - 로케일의 이름
refs - 패싯에 연결되는 참조 횟수

std::collate_byname:: ~collate_byname

protected :
~collate_byname ( ) ;

해당 패싯을 파괴합니다.

std:: collate 에서 상속됨

중첩 타입

타입 정의
char_type CharT
string_type std:: basic_string < CharT >

데이터 멤버

멤버 설명
std::locale::id id [static] 패싯 의 식별자

멤버 함수

do_compare 를 호출함
( std::collate<CharT> 의 public 멤버 함수)
do_transform 를 호출함
( std::collate<CharT> 의 public 멤버 함수)
do_hash 를 호출함
( std::collate<CharT> 의 public 멤버 함수)

보호된 멤버 함수

[virtual]
이 패싯의 문자열 비교 규칙을 사용하여 두 문자열을 비교함
( std::collate<CharT> 의 virtual protected 멤버 함수)
[virtual]
문자열을 변환하여 비교 연산으로 문자열 정렬을 대체할 수 있게 함
( std::collate<CharT> 의 virtual protected 멤버 함수)
[virtual]
이 패싯의 문자열 비교 규칙을 사용하여 정수 해시 값을 생성함
( std::collate<CharT> 의 virtual protected 멤버 함수)

참고 사항

정렬 순서는 사전 순서입니다: 국가별 알파벳에서 문자의 위치(그것의 동등 클래스 )는 대소문자나 변형보다 우선순위를 가집니다. 동등 클래스 내에서는 소문자가 해당 대문자 등가물보다 먼저 정렬되며, 발음 구별 기호가 있는 문자에는 로캘별 순서가 적용될 수 있습니다. 일부 로캘에서는 문자 그룹이 단일 정렬 단위 로 비교됩니다. 예를 들어, "ch" 는 체코어에서 "h" 다음에 오고 "i" 앞에 옵니다. 또한 "dzs" 는 헝가리어에서 "dz" 다음에 오고 "g" 앞에 옵니다.

예제

참고 항목

문자열의 사전식 비교와 해싱을 정의함
(클래스 템플릿)
현재 로캘에 따라 두 문자열을 비교함
(함수)
현재 로캘에 따라 두 와이드 문자열을 비교함
(함수)
이 로캘의 collate 패싯을 사용하여 두 문자열을 사전식으로 비교함
( std::locale 의 public 멤버 함수)