std::basic_string_view<CharT,Traits>::remove_suffix - cppreference.com (original) (raw)

| 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. (since C++26)

[edit] Parameters

n - number of characters to remove from the end of the view

[edit] Complexity

Constant.

[edit] Example

#include #include   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

[edit] See also