struct AlphabeticalLess
{
template <typename CharType>
bool operator ()
(
basic_string<CharType> lhs,
basic_string<CharType> rhs
) const
{
boost::to_upper( lhs );
boost::to_upper( rhs );
return std::use_facet< std::collate< CharType > >( std::locale() )
.compare( lhs.data(), lhs.data() + lhs.size(),
rhs.data(), rhs.data() + rhs.size() ) == -1;
}
};
Приходится все переводить в upper case, а то иначе получается, что "HELLO" < "hello".
Для сортировки сойдет и версия из предыдущего поста, без to_upper.
Комментариев нет:
Отправить комментарий