Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit 8194ba8347.
PrevUpHomeNext
basic_static_string::compare (3 of 9 overloads)

Compare a string with the string.

Synopsis
template<
    std::size_t M>
constexpr int
compare(
    size_type pos1,
    size_type count1,
    const basic_static_string< M, CharT, Traits >& s,
    size_type pos2,
    size_type count2 = npos) const;
Description

Let sub1 be substr(pos1, count1), sub2 be s.substr(pos2, count2), and comp be traits_type::compare(sub1.data(), sub2.data(), std::min(sub1.size(), sub2.size()). If comp != 0, then the result is comp. Otherwise, the result is 0 if sub1.size() == sub2.size(), -1 if sub1.size() < sub2.size(), and 1 otherwise.

Complexity

Linear.

Exception Safety

Strong guarantee.

Return Value

The result of lexicographically comparing sub1 and sub2.

Parameters

Name

Description

pos1

The index at which to begin the substring.

count1

The size of the substring.

s

The string to compare.

pos2

The index at which to begin the substring to compare.

count2

The size of the substring to compare.

Exceptions

Type

Thrown On

std::out_of_range

pos1 > size()

std::out_of_range

pos2 > s.size()


PrevUpHomeNext