std::filesystem::is_fifo
std::filesystem::is_fifo (FIFO·파이프인지 확인)
주어진 파일 상태나 경로가 FIFO 또는 파이프 파일에 해당하는지 확인하는 함수예요. C++17부터 있어요.
출처: cppreference
본문
<filesystem> 헤더에 정의돼 있어요.
bool is_fifo( std::filesystem::file_status s ) noexcept; // (1) C++17
bool is_fifo( const std::filesystem::path& p ); // (2) C++17
bool is_fifo( const std::filesystem::path& p, std::error_code& ec ) noexcept; // (3) C++17
주어진 파일 상태나 경로가 POSIX S_ISFIFO가 판정하는 것처럼 FIFO 또는 파이프 파일인지 검사해요.
-
s.type() == file_type::fifo와 동등해요.
- 2,3) 각각
is_fifo(status(p))또는is_fifo(status(p, ec))와 동등해요.
매개변수
s— 확인할 file statusp— 조회할 경로ec— 오류가 있을 때 수정할 오류 코드
반환값
p가 가리키는 파일 또는 s가 나타내는 유형이 FIFO 파이프면 true, 아니면 false예요. 예외 없는 버전은 오류 시 false를 돌려줘요.
예외
noexcept로 표시되지 않은 오버로드는 메모리 할당이 실패하면 std::bad_alloc을 던질 수 있어요.
- 2,3) OS API 호출이 실패하면
ec에 OS 오류 코드를 설정하고, 오류가 없다면ec.clear()를 실행해요.