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

FreeBSD Manual Pages

  
 
  

home | help
std::basic_...iew::substr(3)  C++ Standard Libary std::basic_...iew::substr(3)

NAME
       std::basic_string_view::substr -	std::basic_string_view::substr

Synopsis
	  constexpr  basic_string_view	substr(	 size_type  pos	 =  0,	(since
       C++17)
	  size_type count = npos ) const;

	  Returns a view of the	substring [pos,	pos + rcount), where rcount is
       the smaller of
	  count	and size() - pos.

Parameters
	  pos	- position of the first	character
	  count	- requested length

Return value
	  View of the substring	[pos, pos + rcount).

Exceptions
	  std::out_of_range if pos > size()

Complexity
	  Constant.

Example
       // Run this code

	#include <cstddef>
	#include <iostream>
	#include <stdexcept>
	#include <string_view>

	int main()
	{
	    typedef std::size_t	count_t, pos_t;

	    constexpr std::string_view data{"ABCDEF"};

	    std::cout << data.substr() << '\n';	// ABCDEF
	    std::cout << data.substr(pos_t(1)) << '\n';	// BCDEF
	    std::cout << data.substr(pos_t(2), count_t(3)) << '\n'; // CDE

	    std::cout << data.substr(pos_t(4), count_t(42)) << '\n'; //	EF
		// count -> 2 == size()	- pos == 6 - 4

	    try	{
		data.substr(pos_t(666),	count_t(1)); //	throws:	pos > size()
	    }
	    catch(std::out_of_range const& ex) {
		std::cout << ex.what() << '\n';
	    }
	}

Possible output:
	ABCDEF
	BCDEF
	CDE
	EF
	basic_string_view::substr: __pos (which	is 666)	> __size (which	is 6)

See also
	  copy	  copies characters
	  (C++17) (public member function)
	  find	  find characters in the view
	  (C++17) (public member function)
	  substr  returns a substring
		  (public	member	     function	    of	      std::ba-
       sic_string<CharT,Traits,Allocator>)

http://cppreference.com		  2022.07.31	  std::basic_...iew::substr(3)

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

home | help