Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::has_facet(3)	      C++ Standard Libary	     std::has_facet(3)

NAME
       std::has_facet -	std::has_facet

Synopsis
	  Defined in header <locale>
	  template< class Facet	>			 (until	C++11)
	  bool has_facet( const	locale&	loc ) throw();
	  template< class Facet	>			 (since	C++11)
	  bool has_facet( const	locale&	loc ) noexcept;

	  Checks if the	locale loc implements the facet	Facet.

Parameters
	  loc -	the locale object to query

Return value
	  Returns  true	 if  the  facet	Facet was installed in the locale loc,
       false otherwise.

Example
       // Run this code

	#include <iostream>
	#include <locale>

	// minimal custom facet
	struct myfacet : public	std::locale::facet {
	    static std::locale::id id;
	};

	std::locale::id	myfacet::id;

	int main()
	{
	    // loc is a	"C" locale with	myfacet	added
	    std::locale	loc(std::locale::classic(), new	myfacet);
	    std::cout << std::boolalpha
		      << "Can loc classify chars? "
		      << std::has_facet<std::ctype<char>>(loc) << '\n'
		      << "Can loc classify char32_t? "
		      << std::has_facet<std::ctype<char32_t>>(loc) << '\n'
		      << "Does loc implement myfacet? "
		      << std::has_facet<myfacet>(loc) << '\n';
	}

Output:
	Can loc	classify chars?	true
	Can loc	classify char32_t? false
	Does loc implement myfacet? true

See also
	  locale    set	of polymorphic facets that encapsulate	cultural  dif-
       ferences
		    (class)
	  use_facet obtains a facet from a locale
		    (function template)

http://cppreference.com		  2022.07.31		     std::has_facet(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::has_facet&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help