Namespaces
Variants

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

cppreference.net에서 발췌
 
 
 
 
constexpr size_type
    find_first_not_of( basic_string_view v, size_type pos = 0 ) const noexcept;
(1) (C++17부터)
constexpr size_type
    find_first_not_of( CharT ch, size_type pos = 0 ) const noexcept;
(2) (C++17부터)
constexpr size_type
    find_first_not_of( const CharT* s, size_type pos, size_type count ) const;
(3) (C++17부터)
constexpr size_type
    find_first_not_of( const CharT* s, size_type pos = 0 ) const;
(4) (C++17부터)

주어진 문자 시퀀스의 어떤 문자와도 같지 않은 첫 번째 문자를 찾습니다.

1) 이 뷰에서 v 의 어떤 문자와도 같지 않은 첫 번째 문자를 위치 pos 부터 찾습니다.
2) find_first_not_of(basic_string_view(std::addressof(ch), 1), pos) 과 동일합니다.
3) find_first_not_of(basic_string_view(s, count), pos) 과 동일합니다.
4) find_first_not_of(basic_string_view(s), pos) 과 동일합니다.

매개변수

v - 검색할 뷰
pos - 검색을 시작할 위치
count - 비교할 문자 열의 길이
s - 비교할 문자 열에 대한 포인터
ch - 비교할 문자

반환값

주어진 문자열에 있는 어떤 문자와도 일치하지 않는 첫 번째 문자의 위치를 반환하거나, std::string_view::npos 해당하는 문자가 없을 경우 이를 반환합니다.

복잡도

최악의 경우 O( size() * v. size() )입니다.

예제

#include <string_view>
using namespace std::literals;
int main()
{
    static_assert(2 == "BCDEF"sv.find_first_not_of("ABC"));
                    //    ^
    static_assert(4 == "BCDEF"sv.find_first_not_of("ABC", 4));
                    //      ^
    static_assert(1 == "BCDEF"sv.find_first_not_of('B'));
                    //   ^
    static_assert(3 == "BCDEF"sv.find_first_not_of('D', 2));
                    //     ^
}

참고 항목

뷰에서 문자 찾기
(public member function)
부분 문자열의 마지막 발생 위치 찾기
(public member function)
문자의 첫 번째 발생 위치 찾기
(public member function)
문자의 마지막 발생 위치 찾기
(public member function)
문자가 없는 마지막 위치 찾기
(public member function)
문자가 없는 첫 번째 위치 찾기
( std::basic_string<CharT,Traits,Allocator> 의 public member function)