Standard C++ Library
Copyright 1998, Rogue Wave Software, Inc.
NAME
has_facet
- A function template used to determine if a locale has a
given facet.
SYNOPSIS
#include <locale>
template <class Facet> bool has_facet(const locale&)
throw();
DESCRIPTION
has_facet returns true if the requested facet is available
in the locale. Otherwise it returns false. You specify the
facet type by explicitly including the template parameter
(see the example below).
Note that if your compiler cannot overload function tem-
plates on return type, then you need to use an
alternative_has_facet template. The alternative template
takes an additional argument that's a pointer to the type of
facet you want to check on. The declaration looks like this:
template <class Facet>
const bool has_facet(const locale&, Facet*) throw();
The example below shows the use of both variations of
has_facet.
EXAMPLE
//
// hasfacet.cpp
//
#include <iostream>
int main ()
{
using namespace std;
locale loc;
#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
cout << has_facet<ctype<char> >(loc) << endl;
#else
cout << has_facet(loc,(ctype<char>*)0) << endl;
#endif
return 0;
}
SEE ALSO
locale, facets, use_facet