C++ Locale Library - operator()



Description

It compares strings using locale and compares s1 to s2 according to the ordering rules defined by the collate facet in the locale, and returns whether s1 goes before s2 in the collation order.

Declaration

Following is the declaration for std::locale::operator()

C++98

	
template <class charT, class Traits, class Allocator>
   bool operator() (const basic_string<charT,Traits,Allocator>& s1,
                    const basic_string<charT,Traits,Allocator>& s2) const;

C++11

template <class charT, class Traits, class Allocator>
   bool operator() (const basic_string<charT,Traits,Allocator>& s1,
                    const basic_string<charT,Traits,Allocator>& s2) const;

Parameters

s1, s2 − It is a basic_string objects to be compared in a locale sensitive manner.

Return Value

It returns true if s1 goes before s2 in the specific strict weak ordering the collate facet defines for strings, and false otherwise.

Exceptions

Strong guarantee − if an exception is thrown, there are no changes in any object.

Data races

The locale object is accessed.

locale.htm
Advertisements