std::basic_string_view<CharT,Traits>::remove_suffix
From cppreference.com
< cpp | string | basic string view
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
std::basic_string_view
(C++20)
(C++20)
(C++23)
basic_string_view::remove_suffix
Constants
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
Deduction guides (C++20)
constexpr void remove_suffix( size_type n );
(since C++17)
Moves the end of the view back by n characters.
If n > size() is true, the behavior is undefined.
(until C++26)If n > size() is true:
- If the implementation is hardened, a contract violation occurs. Moreover, if the contract-violation handler returns under "observe" evaluation semantic, the behavior is undefined.
- If the implementation is not hardened, the behavior is undefined.
Contents
[edit] Parameters
n
-
number of characters to remove from the end of the view
[edit] Complexity
Constant.
[edit] Example
Run this code
#include <iostream> #include <string_view> int main() { char arr[] = {'a', 'b', 'c', 'd', '0円', '0円', '0円'}; std::string_view v(arr, sizeof arr); auto trim_pos = v.find('0円'); if (trim_pos != v.npos) v.remove_suffix(v.size() - trim_pos); std::cout << "Array: '" << arr << "', size=" << sizeof arr << '\n' << "View : '" << v << "', size=" << v.size() << '\n'; }
Output:
Array: 'abcd', size=7 View : 'abcd', size=4