30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.34 Filesystem operation functions [fs.op.funcs]

30.10.34.19 Is empty [fs.op.is_empty]

bool is_empty(const path& p); bool is_empty(const path& p, error_code& ec) noexcept;

Effects:

  • Определяем file_­status s, как будто по status(p) или status(p, ec), соответственно.

  • Для подписи с аргументом ecвернуть, false если произошла ошибка.

  • В противном случае, если is_­directory(s):

    • Создайте переменную itr, как будто по directory_­iterator itr(p) или directory_­iterator itr(p, ec), соответственно.

    • Для подписи с аргументом ecвернуть, false если произошла ошибка.

    • В противном случае верните itr == directory_­iterator().

  • Иначе:

    • Определяем uintmax_­t sz, как будто по file_­size(p) или file_­size(p, ec), соответственно.

    • Для подписи с аргументом ecвернуть, false если произошла ошибка.

    • В противном случае верните sz == 0.

Throws: Как указано в [fs.err.report].