30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.34 Filesystem operation functions [fs.op.funcs]

30.10.34.26 Permissions [fs.op.permissions]

void permissions(const path& p, perms prms, perm_options opts=perm_options::replace); void permissions(const path& p, perms prms, error_code& ec) noexcept; void permissions(const path& p, perms prms, perm_options opts, error_code& ec);

Requires: Именно одна из perm_­options констант replace, addили remove присутствует в opts.

Remarks: Вторая подпись ведет себя так, как если бы у нее был дополнительный параметр perm_­options opts с аргументом perm_­options​::​replace.

Effects: Применяет действие, указанное в, opts к p разрешению файла или к p самому файлу , если p это символическая ссылка и perm_­options​::​nofollow установлена ​​в opts. Действие применяется, как если бы POSIX fchmodat().

[ Note: Концептуально разрешения рассматриваются как биты, но фактическая реализация может использовать какой-то другой механизм. ] end note

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