Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::basic_...emove_prefix(3) C++ Standard Libarystd::basic_...emove_prefix(3)

NAME
       std::basic_string_view::remove_prefix   -   std::basic_string_view::re-
       move_prefix

Synopsis
	  constexpr void remove_prefix(	size_type n );	(since C++17)

	  Moves	the start of the view forward by n characters.

	  The behavior is undefined if n > size().

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

Return value
	  (none)

Complexity
	  Constant.

Example
       // Run this code

	#include <algorithm>
	#include <iostream>
	#include <string_view>

	using namespace	std::literals;

	[[nodiscard("a pure function")]]
	constexpr    std::size_t    count_substrings(std::string_view	 hive,
       std::string_view	const bee)
	{
	    if (hive.empty() ||	bee.empty())
		return 0U;

	    std::size_t	buzz{};
	    while (bee.size() <= hive.size())
	    {
		const auto 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";

	    constexpr auto 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.

See also
	  remove_suffix	shrinks	the view by moving its end backward
			(public	member function)

http://cppreference.com		  2024.06.10	 std::basic_...emove_prefix(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::u16string_view::remove_prefix&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help