The Wayback Machine - https://web.archive.org/web/20180427084205/http://en.cppreference.com:80/w/cpp/string/basic_string/operator_cmp
Namespaces
Variants
Actions

operator==,!=,<,<=,>,>=(std::basic_string)

From cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Non-member functions
operator==operator!=operator<operator>operator<=operator>=
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Helper classes
Deduction guides(C++17)
 
Compare two basic_string objects
template<class CharT, class Traits, class Alloc >

bool operator==(const basic_string<CharT,Traits,Alloc>& lhs,

                 const basic_string<CharT,Traits,Alloc>& rhs );
(1)
template<class CharT, class Traits, class Alloc >

bool operator!=(const basic_string<CharT,Traits,Alloc>& lhs,

                 const basic_string<CharT,Traits,Alloc>& rhs );
(2)
template<class CharT, class Traits, class Alloc >

bool operator<(const basic_string<CharT,Traits,Alloc>& lhs,

                const basic_string<CharT,Traits,Alloc>& rhs );
(3)
template<class CharT, class Traits, class Alloc >

bool operator<=(const basic_string<CharT,Traits,Alloc>& lhs,

                 const basic_string<CharT,Traits,Alloc>& rhs );
(4)
template<class CharT, class Traits, class Alloc >

bool operator>(const basic_string<CharT,Traits,Alloc>& lhs,

                const basic_string<CharT,Traits,Alloc>& rhs );
(5)
template<class CharT, class Traits, class Alloc >

bool operator>=(const basic_string<CharT,Traits,Alloc>& lhs,

                 const basic_string<CharT,Traits,Alloc>& rhs );
(6)
Compare a basic_string object and null-terminated array of T
template<class CharT, class Traits, class Alloc >
bool operator==(const CharT* lhs, const basic_string<CharT,Traits,Alloc>& rhs );
(7)
template<class CharT, class Traits, class Alloc >
bool operator==(const basic_string<CharT,Traits,Alloc>& lhs, const CharT* rhs );
(7)
template<class CharT, class Traits, class Alloc >
bool operator!=(const CharT* lhs, const basic_string<CharT,Traits,Alloc>& rhs );
(8)
template<class CharT, class Traits, class Alloc >
bool operator!=(const basic_string<CharT,Traits,Alloc>& lhs, const CharT* rhs );
(8)
template<class CharT, class Traits, class Alloc >
bool operator<(const CharT* lhs, const basic_string<CharT,Traits,Alloc>& rhs );
(9)
template<class CharT, class Traits, class Alloc >
bool operator<(const basic_string<CharT,Traits,Alloc>& lhs,  const CharT* rhs );
(9)
template<class CharT, class Traits, class Alloc >
bool operator<=(const CharT* lhs, const basic_string<CharT,Traits,Alloc>& rhs );
(10)
template<class CharT, class Traits, class Alloc >
bool operator<=(const basic_string<CharT,Traits,Alloc>& lhs, const CharT* rhs );
(10)
template<class CharT, class Traits, class Alloc >
bool operator>(const CharT* lhs, const basic_string<CharT,Traits,Alloc>& rhs );
(11)
template<class CharT, class Traits, class Alloc >
bool operator>(const basic_string<CharT,Traits,Alloc>& lhs, const CharT* rhs );
(11)
template<class CharT, class Traits, class Alloc >
bool operator>=(const CharT* lhs, const basic_string<CharT,Traits,Alloc>& rhs );
(12)
template<class CharT, class Traits, class Alloc >
bool operator>=(const basic_string<CharT,Traits,Alloc>& lhs, const CharT* rhs );
(12)

Compares the contents of a string with another string or a null-terminated array of CharT.

All comparisons are done via the compare() member function (which itself is defined in terms of Traits::compare()):

  • Two strings are equal if both the size of lhs and rhs are equal and each character in lhs has equivalent character in rhs at the same position.
  • The ordering comparisons are done lexicographically -- the comparison is performed by a function equivalent to std::lexicographical_compare.
1-6) Compares two basic_string objects.
7-12) Compares a basic_string object and a null-terminated array of CharT.

Contents

[edit]Parameters

lhs, rhs - strings whose contents to compare

[edit]Return value

true if the corresponding comparison holds, false otherwise.

[edit]Exceptions

1-6)
(none)(until C++14)
noexcept specification:  
noexcept
  
(since C++14)
7-12) (none)

[edit]Complexity

Linear in the size of the strings.

close