Namespaces
Variants
Actions

std::basic_string_view<CharT,Traits>::remove_prefix

From cppreference.com
 
 
 
 
constexprvoid remove_prefix( size_type n );
(since C++17)

Moves the start of the view forward 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)

Contents

[edit]Parameters

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

[edit]Complexity

Constant.

[edit]Example

#include <algorithm>#include <iostream>#include <string_view>   usingnamespace std::literals;   [[nodiscard("a pure function")]]constexprstd::size_t count_substrings(std::string_view hive, conststd::string_view bee){if(hive.empty()|| bee.empty())return 0U;   std::size_t buzz{};while(bee.size()<= hive.size()){constauto pos = hive.find(bee);if(pos == hive.npos)break;++buzz; hive.remove_prefix(pos + bee.size());}return buzz;}   int main(){std::string str =" trim me";std::string_view v = str; v.remove_prefix(std::min(v.find_first_not_of(" "), v.size()));std::cout<<"String: '"<< str <<"'\n"<<"View  : '"<< v <<"'\n";   constexprauto hive{"bee buzz bee buzz bee"};std::cout<<"There are "<< count_substrings(hive, "bee")<<" bees in this hive.\n";}

Output:

String: ' trim me' View  : 'trim me' There are 3 bees in this hive.

[edit]See also

shrinks the view by moving its end backward
(public member function)[edit]
close