Namespaces
Variants
Views
Actions

std::experimental::basic_string_view<CharT,Traits>::remove_suffix

From cppreference.com
 
 
Experimental
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
 
 
 
constexpr void remove_suffix( size_type n );
(library fundamentals TS)

Moves the end of the view back by n characters.

The behavior is undefined if n > size().

Contents

[edit] Parameters

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

[edit] Return value

(none)

[edit] Complexity

Constant.

[edit] Example

#include <experimental/string_view>
#include <iostream>
 
int main()
{
    char arr[] = {'a', 'b', 'c', 'd', '\0', '\0', '\0'};
    std::experimental::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

shrinks the view by moving its start forward
(public member function) [edit]