boost的filesystem.hpp中的实体一览

1 篇文章 0 订阅

该头文件(boost/filesystem.hpp)描述了C ++程序可用于执行 涉及文件系统 的操作的组件,包括 路径常规文件目录

参考链接https://www.boost.org/doc/libs/1_69_0/libs/filesystem/doc/reference.html#Header-filesystem-synopsis

namespace boost
{
  namespace filesystem
  {
    class path;
    class filesystem_error;      
    class directory_entry;
    class directory_iterator;
    class recursive_directory_iterator;
    class file_status;
    
    enum file_type
    {
      status_error, file_not_found, regular_file, directory_file,
      symlink_file, block_file, character_file, fifo_file, socket_file,
      type_unknown
    };
    enum perms
    {
      no_perms,
      owner_read, owner_write, owner_exe, owner_all,
      group_read, group_write, group_exe, group_all,
      others_read, others_write, others_exe, others_all, all_all,
      set_uid_on_exe, set_gid_on_exe, sticky_bit,
      perms_mask, perms_not_known,
      add_perms, remove_perms, symlink_perms
    };
    
    struct space_info  // returned by space function
    {
      uintmax_t capacity;
      uintmax_t free; 
      uintmax_t available; // free space available to non-privileged process
    };

    enum class copy_option
    {
      none
      fail_if_exists = none,
      overwrite_if_exists
    };

    enum class symlink_option
    {
      none
      no_recurse = none,
      recurse
    };

    /** 直接用于操作的函数 **/

    path         absolute(const path& p, const path& base=current_path());
    
    path         canonical(const path& p, const path& base = current_path());
    path         canonical(const path& p, system::error_code& ec);
    path         canonical(const path& p, const path& base, system::error_code& ec);
    
    void         copy(const path& from, const path& to);
    void         copy(const path& from, const path& to, system::error_code& ec);
    void         copy_directory(const path& from, const path& to);
    void         copy_directory(const path& from, const path& to, system::error_code& ec);
    void         copy_file(const path& from, const path& to);
    void         copy_file(const path& from, const path& to, system::error_code& ec);
    void         copy_file(const path& from, const path& to, copy_option option);
    void         copy_file(const path& from, const path& to, copy_option option, system::error_code& ec);
    void         copy_symlink(const path& existing_symlink, const path& new_symlink);
    void         copy_symlink(const path& existing_symlink, const path& new_symlink, system::error_code& ec);
    
    bool         create_directories(const path& p);
    bool         create_directories(const path& p, system::error_code& ec);
    bool         create_directory(const path& p);
    bool         create_directory(const path& p, system::error_code& ec);
    void         create_directory_symlink(const path& to, const path& new_symlink);
    void         create_directory_symlink(const path& to, const path& new_symlink, system::error_code& ec);
    void         create_hard_link(const path& to, const path& new_hard_link);
    void         create_hard_link(const path& to, const path& new_hard_link, system::error_code& ec);
    void         create_symlink(const path& to, const path& new_symlink);
    void         create_symlink(const path& to, const path& new_symlink, system::error_code& ec);

    path         current_path();
    path         current_path(system::error_code& ec);
    void         current_path(const path& p);
    void         current_path(const path& p, system::error_code& ec);

    bool         exists(file_status s) noexcept;
    bool         exists(const path& p);
    bool         exists(const path& p, system::error_code& ec) noexcept;

    bool         equivalent(const path& p1, const path& p2);
    bool         equivalent(const path& p1, const path& p2, system::error_code& ec);

    uintmax_t    file_size(const path& p);
    uintmax_t    file_size(const path& p, system::error_code& ec);

    uintmax_t    hard_link_count(const path& p);
    uintmax_t    hard_link_count(const path& p, system::error_code& ec);

    const path&  initial_path();
    const path&  initial_path(system::error_code& ec);

    bool         is_directory(file_status s) noexcept;
    bool         is_directory(const path& p);
    bool         is_directory(const path& p, system::error_code& ec) noexcept;

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

    bool         is_other(file_status s) noexcept;
    bool         is_other(const path& p,);
    bool         is_other(const path& p, system::error_code& ec) noexcept;

    bool         is_regular_file(file_status s) noexcept; 
    bool         is_regular_file(const path& p);
    bool         is_regular_file(const path& p, system::error_code& ec) noexcept;

    bool         is_symlink(file_status s noexcept);
    bool         is_symlink(const path& p);
    bool         is_symlink(const path& p, system::error_code& ec) noexcept;

    std::time_t  last_write_time(const path& p);
    std::time_t  last_write_time(const path& p, system::error_code& ec);
    void         last_write_time(const path& p, const std::time_t new_time);
    void         last_write_time(const path& p, const std::time_t new_time, system::error_code& ec);

    path         read_symlink(const path& p);
    path         read_symlink(const path& p, system::error_code& ec);
    
    path         relative(const path& p, system::error_code& ec);
    path         relative(const path& p, const path& base=current_path());
    path         relative(const path& p, const path& base, system::error_code& ec);

    bool         remove(const path& p);
    bool         remove(const path& p, system::error_code& ec);

    uintmax_t    remove_all(const path& p);
    uintmax_t    remove_all(const path& p, system::error_code& ec);

    void         rename(const path& from, const path& to);
    void         rename(const path& from, const path& to, system::error_code& ec);

    void         resize_file(const path& p, uintmax_t size);
    void         resize_file(const path& p, uintmax_t size, system::error_code& ec);

    space_info   space(const path& p);
    space_info   space(const path& p, system::error_code& ec);

    file_status  status(const path& p);
    file_status  status(const path& p, system::error_code& ec) noexcept;

    bool         status_known(file_status s) noexcept;

    file_status  symlink_status(const path& p);
    file_status  symlink_status(const path& p, system::error_code& ec) noexcept;

    path         system_complete(const path& p);
    path         system_complete(const path& p, system::error_code& ec);

    path         temp_directory_path();
    path         temp_directory_path(system::error_code& ec);

    path         unique_path(const path& model="%%%%-%%%%-%%%%-%%%%");
    path         unique_path(const path& model, system::error_code& ec);
    path         weakly_canonical(const path& p);
    path         weakly_canonical(const path& p, system::error_code& ec);
  }  // namespace filesystem
}  // namespace boost
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值