Skip to content

Latest commit

 

History

History
91 lines (72 loc) · 2.07 KB

File metadata and controls

91 lines (72 loc) · 2.07 KB

ends_with

  • string_view[meta header]
  • std[meta namespace]
  • basic_string_view[meta class]
  • function[meta id-type]
  • cpp20[meta cpp]
constexpr bool ends_with(basic_string_view x) const noexcept; // (1)
constexpr bool ends_with(CharT x) const noexcept;             // (2)
constexpr bool ends_with(const CharT* x) const;               // (3)

概要

指定の文字列で終わるかを判定する。

  • (1) : *thisが参照する文字列範囲の末尾が、xが参照する文字列範囲と一致するかを判定する
  • (2) : *thisが参照する文字列範囲の末尾が、文字xと一致するかを判定する
  • (3) : *thisが参照する文字列範囲の末尾が、文字列xと一致するかを判定する

戻り値

  • (1) : 以下と等価である

    return size() >= x.size() && compare(size() - x.size(), npos, x) == 0;
    • size()[link size.md]
    • compare[link compare.md]
  • (2) : 以下と等価である

    return !empty() && Traits::eq(back(), x);
    • empty()[link empty.md]
    • Traits::eq[link /reference/string/char_traits/eq.md]
    • back()[link back.md]
  • (3) : 以下と等価である

    return ends_with(basic_string_view(x));

例外

  • (1), (2) : 投げない

#include <cassert>
#include <string_view>

int main()
{
  const std::string_view sv = "aaabbbcccdddeee";

  // (1)
  {
    std::string_view svx = "eee"; 
    assert(sv.ends_with(svx));
  }

  // (2)
  {
    assert(sv.ends_with('e'));
  }

  // (3)
  {
    assert(sv.ends_with("eee"));
  }
}
  • ends_with[color ff0000]

出力

バージョン

言語

  • C++20

処理系

参照