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

FreeBSD Manual Pages

  
 
  

home | help
std::regex_..._collatename(3) C++ Standard Libarystd::regex_..._collatename(3)

NAME
       std::regex_traits::lookup_collatename  -	std::regex_traits::lookup_col-
       latename

Synopsis
	  template< class ForwardIt >
	  string_type lookup_collatename( ForwardIt first,  ForwardIt  last  )
       const;

	  If  the  character  sequence	[first,	last) represents the name of a
       valid collating
	  element in the currently imbued locale, returns  the	name  of  that
       collating element.
	  Otherwise, returns an	empty string.

	  Collating  elements  are  the	symbols	found in POSIX regular expres-
       sions between [.	and
	  .]. For example, [.a.] matches the character	a  in  the  C  locale.
       [.tilde.] matches
	  the  character ~ in the C locale as well. [.ch.] matches the digraph
       ch in Czech
	  locale, but generates	std::regex_error with error code
	  std::regex_constants::error_collate in most other locales.

Parameters
	  first, last -	a pair of iterators which determines the  sequence  of
       characters that
			represents a collating element name

Type requirements
	  -
	  ForwardIt must meet the requirements of LegacyForwardIterator.

Return value
	  The  representation  of  the	named collating	element	as a character
       string.

Example
       // Run this code

	#include <iostream>
	#include <string>
	#include <regex>

	struct noisy_traits : std::regex_traits<char> {

	    template< class Iter >
	    string_type	lookup_collatename( Iter first,	Iter last ) const {
		string_type result  =  regex_traits::lookup_collatename(first,
       last);
		std::cout << "regex_traits<>::lookup_collatename(\""
			  << string_type(first,	last)
			  << "\") returns \"" << result	<< "\"\n";
		return result;
	    }
	};

	int main()
	{
	    std::string	  str	=   "z|}a";   //  C  locale  collation	order:
       x,y,z,{,|,},~
	    std::basic_regex<char,     noisy_traits>	 re("[x-[.tilde.]]*a",
       std::regex::basic);
	    std::cout << std::boolalpha	<< std::regex_match(str, re) <<	'\n';
	}

Output:
	regex_traits<>::lookup_collatename("tilde") returns "~"
	true

http://cppreference.com		  2022.07.31	 std::regex_..._collatename(3)

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

home | help