2017-09-29 4 views
0

특정 패싯이 로캘에로드되었는지 여부를 확인하기 위해 std :: has_facet (loc) 사용에 익숙합니다.현재 설치된 모든 패싯 목록에 대해 std :: locale을 쿼리하는 방법이 있습니까?

if (! std::has_facet<custom_facet_t>(std::cout.getloc())) { 
    /* load facet in to locale */ 
} 

현재로드 된 패싯 목록을 가져 오는 방법이 있습니까? 로케일의 특성을 감안할 때 모든 유형의 규칙을 위반할 것이라고 확신합니다.하지만 물어야했습니다 :).

답변

0

저는 (귀하가 추측 한 바와 같이) 대답이 '아니오'라고 생각합니다. locale 클래스는 생성, 할당, 이름 검색, 비교 (또는 등가 및 불평등 만) 및 함수 호출을 지원합니다. 유일한 (필수) 자유 기능은 is*to* 편의 인터페이스와 함께 use_facethas_facet입니다.

열거/순회/반복을 지원할 수있는 것처럼 보이는 것은 없습니다.