std::has_facet - cppreference.com (original) (raw)
| Defined in header | | | | ----------------------------------------------------------------------- | | ------------- | | template< class Facet > bool has_facet( const locale& loc ) throw(); | | (until C++11) | | template< class Facet > bool has_facet( const locale& loc ) noexcept; | | (since C++11) |
Checks if the locale loc implements the facet Facet
.
The program is ill-formed if Facet is not a facet or it is a volatile-qualified facet.
[edit] Parameters
loc | - | the locale object to query |
---|
[edit] Return value
Returns true if the facet Facet
was installed in the locale loc, false otherwise.
[edit] Notes
std::has_facet
must return true for all locales loc if Facet
is one of the standard facets given here.
[edit] Example
Output:
Can loc classify chars? true Can loc classify char32_t? false Does loc implement myfacet? true
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 436 | C++98 | it was unclear whether Facet can be cv-qualified | it can be const-qualified, but not volatile-qualified |
[edit] See also
| | set of polymorphic facets that encapsulate cultural differences (class) [edit] | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | obtains a facet from a locale (function template) [edit] |