Namespaces
Variants

C++ named requirements: RegexTraits (since C++11)

From cppreference.net
C++ named requirements

RegexTraits 는 주어진 문자 타입에 필요한 연산들을 추상화하는 특성 클래스로, std:: basic_regex 의 템플릿 타입 매개변수로 사용됩니다.

요구사항

주어진

  • CharT , 문자 타입
  • X , RegexTraits 타입에 대한 CharT 타입
  • u , X 타입의 객체
  • v , const X 타입의 객체
  • p , const CharT * 타입의 값
  • I1, I2 , 입력 반복자
  • F1, F2 , 전방 반복자
  • c , const CharT 타입의 값
  • s , X :: string_type 타입의 객체
  • cs , const X :: string_type 타입의 객체
  • b , bool 타입의 값
  • I , int 타입의 값
  • cl , X :: char_class_type 타입의 객체
  • loc , X :: locale_type 타입의 객체


expression return type semantics
X :: char_type CharT 문자 타입을 참조하는 데 사용됩니다.
X :: string_type std:: basic_string < CharT >
X :: locale_type traits 클래스가 사용하는 로케일을 나타내는 CopyConstructible 타입.
X :: char_class_type 특정 문자 분류를 나타내는 BitmaskType 타입입니다.
X :: length ( p ) std:: size_t 반환값: p [ i ] == 0 을 만족하는 가장 작은 i . 시간 복잡도는 i 에 대해 선형입니다.
v. translate ( c ) X :: char_type 반환값: 임의의 문자 d c 와 동등하다고 간주될 때, v. translate ( c ) == v. translate ( d ) 를 만족하는 문자.
v. translate_nocase ( c ) X :: char_type 반환값: 대소문자를 구분하지 않고 c 와 동등하다고 간주되는 모든 문자 C 에 대해 v. translate_nocase ( c ) == v. translate_nocase ( C ) 가 성립하는 문자.
v. transform ( F1, F2 ) X :: string_type 반환값: 반복자 범위 [ F1, F2 ) 로 지정된 문자 시퀀스에 대한 정렬 키로서, 문자 시퀀스 [ G1, G2 ) 가 문자 시퀀스 [ H1, H2 ) 보다 먼저 정렬된다면, v. transform ( G1, G2 ) < v. transform ( H1, H2 ) 가 성립합니다.
v. transform_primary ( F1, F2 ) X :: string_type 반환값: 반복자 범위 [ F1, F2 ) 로 지정된 문자 시퀀스에 대한 정렬 키로서, 대소문자를 구분하지 않고 문자 시퀀스 [ G1, G2 ) 가 문자 시퀀스 [ H1, H2 ) 보다 먼저 정렬된다면, v. transform_primary ( G1, G2 ) < v. transform_primary ( H1, H2 ) 가 성립합니다.
v. lookup_collatename ( F1, F2 ) X :: string_type 반환값:
  • 문자 시퀀스가 유효한 콜레이트 요소가 아닌 경우 빈 문자열
  • 반복자 범위 [ F1, F2 ) 로 지정된 문자 시퀀스로 구성된 콜레이트 요소를 나타내는 문자 시퀀스
v. lookup_classname ( F1, F2, b ) X :: char_class_type
  • 반복자 범위 [ F1, F2 ) 로 지정된 문자 시퀀스를 BitmaskType 값으로 변환하며, 이후 isctype 에 전달될 수 있음
  • lookup_classname 에서 반환된 값들은 비트 단위 OR 연산으로 결합 가능하며, 결과 값은 해당 문자 클래스들 중 하나에 대한 멤버십을 나타냄
  • b 가 true인 경우, 반환된 비트마스크는 대소문자를 구분하지 않고 문자를 매칭하는 데 적합함
  • 문자 시퀀스가 X 에서 인식하는 문자 클래스 이름이 아닌 경우 0 을 반환함
  • 반환되는 값은 시퀀스 내 문자의 대소문자와 무관해야 함
v. isctype ( c, cl ) bool 반환값: c cl 로 지정된 문자 클래스 중 하나에 속하는지 여부.
v. value ( c, I ) int 반환값:
  • 문자 c 가 진법 I 에서 유효한 숫자인 경우, 해당 진법에서 숫자 c 가 나타내는 값
  • - 1 그렇지 않은 경우
u. imbue ( loc ) X :: locale_type
  • u 에 로케일 loc 을 적용합니다
  • 반환값: u 가 이전에 사용하던 로케일(있는 경우)
v. getloc ( ) X :: locale_type 반환값: v 가 이전에 사용했던 locale(이 있다면).


표준 라이브러리

RegexTraits 는 다음 표준 라이브러리 클래스들에 의해 충족됩니다:

template <> class regex_traits < char > ;
template <> class regex_traits < wchar_t > ;
(C++11 이후)
(C++11 이후)