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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::basic_string::find_first_not_of		-	      std::ba-
       sic_string::find_first_not_of

Synopsis
	  size_type find_first_not_of( const	       (until
	  basic_string&	str, size_type pos = 0	       C++11)
	  ) const;
	  size_type find_first_not_of( const	       (since
	  basic_string&	str,			       C++11)
	  size_type pos	= 0 ) const noexcept;	       (until
						       C++20)
	  constexpr size_type
	  find_first_not_of( const		       (since
	  basic_string&	str,			       C++20)
	  size_type pos	= 0 ) const noexcept;
	  size_type find_first_not_of( const
	  CharT* s,					       (until
	  size_type pos, size_type count )		       C++20)
	  const;
	  constexpr size_type
	  find_first_not_of( const CharT* s,		       (since
	  size_type pos, size_type count )		       C++20)
	  const;
	  size_type find_first_not_of( const			       (until
	  CharT* s,						       C++20)
	  size_type pos	= 0 ) const;
	  constexpr size_type					       (since
	  find_first_not_of( const CharT* s,			       C++20)
	  size_type pos	= 0 ) const;	       (1)
	  size_type		     find_first_not_of(			 CharT
       (until
	  ch,	     size_type	      pos	=	0	)	const;
       C++11)
	  size_type		     find_first_not_of(			 CharT
       (since
	  ch,	     size_type	      pos	 =	 0	 )	 const
       C++11)
	  noexcept;
       (until
						   (2)
       C++20)
	  constexpr						     size_type
       (since
	  find_first_not_of(			 CharT			   ch,
       C++20)
	  size_type pos	= 0 ) const noexcept;
	  template < class StringViewLike >	       (3)

	  size_type
       (since
	  find_first_not_of(	   const				   (4)
       C++17)
	  StringViewLike&						    t,
       (until
										       C++20)
	  size_type pos	= 0 ) const
	  noexcept(/* see below	*/);				       (5)
	  template < class StringViewLike >

	  constexpr size_type
	  find_first_not_of(						 const
       (since
	  StringViewLike&						    t,
       C++20)

	  size_type pos	= 0 ) const
	  noexcept(/* see below	*/);

	  Finds	the first character equal to none of  the  characters  in  the
       given character
	  sequence.  The  search considers only	the interval [pos, size()). If
       the character is
	  not present in the interval, npos will be returned.

	  1) Finds the first character equal to	none of	characters in str.
	  2) Finds the first character equal to	none of	 characters  in	 range
       [s, s+count). This
	  range	can include null characters.
	  3)  Finds the	first character	equal to none of characters in charac-
       ter string pointed
	  to by	s. The length of the string is determined by  the  first  null
       character using
	  Traits::length(s).
	  4) Finds the first character not equal to ch.
	  5)  Implicitly  converts  t  to  a  string view sv as	if by std::ba-
       sic_string_view<CharT,
	  Traits> sv = t;, then	finds the first	character  equal  to  none  of
       characters in sv.
	  This overload	participates in	overload resolution only if
	  std::is_convertible_v<const	      StringViewLike&,	      std::ba-
       sic_string_view<CharT, Traits>>
	  is  true  and	 std::is_convertible_v<const  StringViewLike&,	 const
       CharT*> is false.

	  In all cases,	equality is checked by calling Traits::eq.

Parameters
	  str	- string identifying characters	to search for
	  pos	- position for the search to start from
	  count	 - length of character string identifying characters to	search
       for
	  s	- pointer to a	character  string  identifying	characters  to
       search for
	  ch	- character identifying	characters to search for
	  t	 -  object (convertible	to std::basic_string_view) identifying
       characters to
		  search for

Return value
	  Position of the found	character or npos  if  no  such	 character  is
       found.

Exceptions
	  5)
	  noexcept specification:
	  noexcept(std::is_nothrow_convertible_v<const	     T&,      std::ba-
       sic_string_view<CharT,
	  Traits>>)

Example
       // Run this code

	#include <string>
	#include <iostream>

	int main() {
	    std::string	to_search = "Some data with %MACROS to substitute";

	    std::cout << "Before: " << to_search << '\n';

	    auto pos = std::string::npos;
	    while ((pos	= to_search.find('%')) != std::string::npos) {
		// Permit uppercase letters, lowercase letters and numbers  in
       macro names
		const	auto   after   =   to_search.find_first_not_of("ABCDE-
       FGHIJKLMNOPQRSTUVWXYZ"
							       "abcde-
       fghijklmnopqrstuvwxyz"
							       "0123456789",
       pos + 1);

		// Now to_search[pos] == '%' and to_search[after] == ' '  (af-
       ter the 'S')

		if(after != std::string::npos)
		    to_search.replace(pos,   after  -  pos,  "some  very  nice
       macros");
	    }

	    std::cout << "After: " << to_search	<< '\n';
	}

Output:
	Before:	Some data with %MACROS to substitute
	After: Some data with some very	nice macros to substitute

	 Defect	reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	     DR	      Applied	 to		 Behavior     as     published
       Correct behavior
	  LWG  2064  C++11	 overload (3) and (4) were noexcept	   re-
       moved
	  LWG  2946  C++17	 string_view  overload	causes	ambiguity   in
       avoided by making it a
			      some  cases				  tem-
       plate
	  P1148R0  C++11      noexcept for overload  (4)/(5)  was	   re-
       stored
		   C++17      accidently dropped by LWG2064/LWG2946

See also
	  find		    find characters in the string
			    (public member function)
	  rfind		    find the last occurrence of	a substring
			    (public member function)
	  find_first_of	    find first occurrence of characters
			    (public member function)
	  find_last_of	    find last occurrence of characters
			    (public member function)
	  find_last_not_of  find last absence of characters
			    (public member function)
	  find_first_not_of find first absence of characters
	  (C++17)	       (public	  member    function	of    std::ba-
       sic_string_view<CharT,Traits>)

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

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

home | help