template<class charT, class traits, class Allocator>
bool operator<(const basic_string<charT, traits, Allocator>& lhs,
const basic_string<charT, traits, Allocator>& rhs) noexcept;
Returns:
lhs.compare(rhs) < 0. template<class charT, class traits, class Allocator>
bool operator<(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs);
Returns:
rhs.compare(lhs) > 0. template<class charT, class traits, class Allocator>
bool operator<(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs);
Returns:
lhs.compare(rhs) < 0.