hamigaki.png

前のページ 上に戻る ホーム 次のページ

リファレンス

Header <hamigaki/filesystem/consts.hpp>
Header <hamigaki/filesystem/device_number.hpp>
Header <hamigaki/filesystem/file_status.hpp>
Header <hamigaki/filesystem/timestamp.hpp>
Header <hamigaki/filesystem/operations.hpp>
namespace hamigaki {
  namespace filesystem {
    enum file_type;

    struct file_attributes;
    struct file_permissions;
  }
}
namespace hamigaki {
  namespace filesystem {
    struct device_number;
  }
}
namespace hamigaki {
  namespace filesystem {
    class file_status;
    bool status_known(const file_status&);
    bool exists(const file_status&);
    bool is_regular(const file_status&);
    bool is_directory(const file_status&);
    bool is_symlink(const file_status&);
    bool is_other(const file_status&);
  }
}
namespace hamigaki {
  namespace filesystem {
    struct timestamp;
  }
}
namespace hamigaki {
  namespace filesystem {

    // status functions
    template<typename Path> 
      file_status status(const Path&, boost::system::error_code&);
    template<typename Path> file_status status(const Path&);
    template<typename Path> 
      file_status symlink_status(const Path&, boost::system::error_code&);
    template<typename Path> file_status symlink_status(const Path&);

    // predicate functions
    template<typename Path> bool exists(const Path&);
    template<typename Path> bool is_regular(const Path&);
    template<typename Path> bool is_directory(const Path&);
    template<typename Path> bool is_other(const Path&);
    template<typename Path> bool is_symlink(const Path&);

    // attribute functions
    template<typename Path> Path symlink_target(const Path&);
    template<typename Path> 
      void last_write_time(const Path&, const timestamp&);
    template<typename Path> 
      void last_access_time(const Path&, const timestamp&);
    template<typename Path> void creation_time(const Path&, const timestamp&);

    // operations functions
    template<typename Path> 
      boost::system::error_code 
      create_hard_link(const Path&, const Path&, boost::system::error_code&);
    template<typename Path> void create_hard_link(const Path&, const Path&);
    template<typename Path> 
      boost::system::error_code 
      create_file_symlink(const Path&, const Path&, 
                          boost::system::error_code&);
    template<typename Path> void create_file_symlink(const Path&, const Path&);
    template<typename Path> 
      boost::system::error_code 
      create_directory_symlink(const Path&, const Path&, 
                               boost::system::error_code&);
    template<typename Path> 
      void create_directory_symlink(const Path&, const Path&);
    template<typename Path> 
      boost::system::error_code 
      create_symlink(const Path&, const Path&, boost::system::error_code&);
    template<typename Path> void create_symlink(const Path&, const Path&);
    template<typename Path> 
      void change_attributes(const Path&, file_attributes::value_type, 
                             boost::system::error_code&);
    template<typename Path> 
      void change_attributes(const Path&, file_attributes::value_type);
    template<typename Path> 
      void change_permissions(const Path&, file_permissions::value_type, 
                              boost::system::error_code&);
    template<typename Path> 
      void change_permissions(const Path&, file_permissions::value_type);
    template<typename Path> 
      boost::system::error_code 
      change_owner(const Path&, const boost::optional<boost::intmax_t>&, 
                   const boost::optional<boost::intmax_t>&, 
                   boost::system::error_code&);
    template<typename Path> 
      void change_owner(const Path&, const boost::optional<boost::intmax_t>&, 
                        const boost::optional<boost::intmax_t>&);
    template<typename Path> 
      boost::system::error_code 
      change_symlink_owner(const Path&, 
                           const boost::optional<boost::intmax_t>&, 
                           const boost::optional<boost::intmax_t>&, 
                           boost::system::error_code&);
    template<typename Path> 
      void change_symlink_owner(const Path&, 
                                const boost::optional<boost::intmax_t>&, 
                                const boost::optional<boost::intmax_t>&);
    template<typename Path> unsigned long remove_all(const Path&);

    // MS Windows specific functions
    template<typename Path> 
      boost::system::error_code 
      create_shell_link(const Path&, const Path&, boost::system::error_code&);
    template<typename Path> void create_shell_link(const Path&, const Path&);
  }
}

status functions

  1. template<typename Path> 
      file_status status(const Path& p, boost::system::error_code& ec);
    Effects: パスpのファイル状態情報を調べる。ファイルが見つからない場合は、ファイルの種類はfile_not_foundになる。それ以外のエラーが発生した場合は、ファイルの種類はstatus_unknownになり、ecにシステム依存のエラーコードを設定する。
    Returns: パスpのファイル状態情報
  2. template<typename Path> file_status status(const Path& p);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::file_status stat(status(p, ec));
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
    Returns: stat
  3. template<typename Path> 
      file_status symlink_status(const Path& p, boost::system::error_code& ec);
    Effects: パスpがシンボリックである場合、シンボリックリンク自体のファイル状態情報を返す。それ以外の場合は、status(p)と同じ効果とする。
    Returns: パスpのファイル状態情報
  4. template<typename Path> file_status symlink_status(const Path& p);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::file_status stat(symlink_status(p, ec));
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
    Returns: stat

predicate functions

  1. template<typename Path> bool exists(const Path& p);
    Returns: exists(status(p))
  2. template<typename Path> bool is_regular(const Path& p);
    Returns: is_regular(status(p))
  3. template<typename Path> bool is_directory(const Path& p);
    Returns: is_directory(status(p))
  4. template<typename Path> bool is_other(const Path& p);
    Returns: is_other(status(p))
  5. template<typename Path> bool is_symlink(const Path& p);
    Returns: is_symlink(symlink_status(p))

attribute functions

  1. template<typename Path> Path symlink_target(const Path& p);
    Returns: パスpのシンボリックリンクのターゲットパス
  2. template<typename Path> 
      void last_write_time(const Path& p, const timestamp& new_time);
    Effects: パスpのファイル最終更新時間をnew_timeに変更する
  3. template<typename Path> 
      void last_access_time(const Path& p, const timestamp& new_time);
    Effects: パスpのファイル最終アクセス時間をnew_timeに変更する
  4. template<typename Path> 
      void creation_time(const Path& p, const timestamp& new_time);
    Effects: パスpのファイル作成時間をnew_timeに変更する

operations functions

  1. template<typename Path> 
      boost::system::error_code 
      create_hard_link(const Path& old_fp, const Path& new_fp, 
                       boost::system::error_code& ec);
    Effects: パスnew_fpで、パスold_fpへのハードリンクを作成する。成功した場合は、ecには0が設定される。エラーが発生した場合は、ecにシステム依存のエラーコードを設定する。
    Returns: ec
  2. template<typename Path> 
      void create_hard_link(const Path& old_fp, const Path& new_fp);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::create_hard_link(old_fp, new_fp, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
  3. template<typename Path> 
      boost::system::error_code 
      create_file_symlink(const Path& old_fp, const Path& new_fp, 
                          boost::system::error_code& ec);
    Effects: パスnew_fpで、ファイルold_fpへのシンボリックリンクを作成する。成功した場合は、ecには0が設定される。エラーが発生した場合は、ecにシステム依存のエラーコードを設定する。
    Returns: ec
  4. template<typename Path> 
      void create_file_symlink(const Path& old_fp, const Path& new_fp);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::create_file_symlink(old_fp, new_fp, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
  5. template<typename Path> 
      boost::system::error_code 
      create_directory_symlink(const Path& old_dp, const Path& new_dp, 
                               boost::system::error_code& ec);
    Effects: パスnew_dpで、ディレクトリold_dpへのシンボリックリンクを作成する。成功した場合は、ecには0が設定される。エラーが発生した場合は、ecにシステム依存のエラーコードを設定する。
    Returns: ec
  6. template<typename Path> 
      void create_directory_symlink(const Path& old_fp, const Path& new_fp);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::create_directory_symlink(old_fp, new_fp, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
  7. template<typename Path> 
      boost::system::error_code 
      create_symlink(const Path& old_fp, const Path& new_fp, 
                     boost::system::error_code& ec);
    Effects: POSIXでは、create_file_symlink(old_fp, new_fp, ec)と同じ効果とする。Windowsでは、パスold_fpがファイルであればcreate_file_symlink(old_fp, new_fp, ec)、ディレクトリであればcreate_directory_symlink(old_fp, new_fp, ec)を呼び出した場合と同じ効果とする。Windowsでパスold_fpが存在しない場合は、ecにはERROR_PATH_NOT_FOUNDが設定される。
    Returns: ec
  8. template<typename Path> 
      void create_symlink(const Path& old_fp, const Path& new_fp);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::create_symlink(old_fp, new_fp, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
  9. template<typename Path> 
      void change_attributes(const Path& p, file_attributes::value_type attr, 
                             boost::system::error_code& ec);

    引数attrには、file_attributes構造体内の定数のいずれか、あるいはその組み合わせを指定する。但し、ファイル種別を示すtype_mask部分は無視される。

    Effects: パスpのファイル属性をattrに変更する。成功した場合は、ecには0が設定される。エラーが発生した場合は、ecにシステム依存のエラーコードを設定する。
  10. template<typename Path> 
      void change_attributes(const Path& p, file_attributes::value_type attr);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::change_attributes(p, attr, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
  11. template<typename Path> 
      void change_permissions(const Path& p, file_permissions::value_type perm, 
                              boost::system::error_code& ec);

    引数permには、file_permissions構造体内の定数のいずれか、あるいはその組み合わせを指定する。但し、ファイル種別を示すtype_mask部分は無視される。

    Effects: パスpのファイル許可属性をpermに変更する。成功した場合は、ecには0が設定される。エラーが発生した場合は、ecにシステム依存のエラーコードを設定する。
  12. template<typename Path> 
      void change_permissions(const Path& p, file_permissions::value_type perm);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::change_permissions(p, perm, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
  13. template<typename Path> 
      boost::system::error_code 
      change_owner(const Path& p, const boost::optional<boost::intmax_t>& new_uid, 
                   const boost::optional<boost::intmax_t>& new_gid, 
                   boost::system::error_code& ec);
    Effects: パスpのオーナーをnew_uidにグループをnew_gidに変更する。成功した場合は、ecには0が設定される。エラーが発生した場合は、ecにシステム依存のエラーコードを設定する。
    Returns: ec
  14. template<typename Path> 
      void change_owner(const Path& p, 
                        const boost::optional<boost::intmax_t>& new_uid, 
                        const boost::optional<boost::intmax_t>& new_gid);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::change_owner(p, new_uid, new_gid, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
  15. template<typename Path> 
      boost::system::error_code 
      change_symlink_owner(const Path& p, 
                           const boost::optional<boost::intmax_t>& new_uid, 
                           const boost::optional<boost::intmax_t>& new_gid, 
                           boost::system::error_code& ec);
    Effects: パスpがシンボリックリンクの場合にシンボリック自身に作用することを除き、change_owner(p, new_uid, new_gid, ec)と同じ効果とする。
    Returns: ec
  16. template<typename Path> 
      void change_symlink_owner(const Path& p, 
                                const boost::optional<boost::intmax_t>& new_uid, 
                                const boost::optional<boost::intmax_t>& new_gid);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::change_symlink_owner(p, new_uid, new_gid, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
  17. template<typename Path> unsigned long remove_all(const Path& p);
    Effects: パスp以下のファイルを再帰的に削除する。
    Notes: シンボリックリンクの削除にターゲットファイルは影響されない。
    Returns: 削除したファイル/ディレクトリの数

MS Windows specific functions

  1. template<typename Path> 
      boost::system::error_code 
      create_shell_link(const Path& old_fp, const Path& new_fp, 
                        boost::system::error_code& ec);
    Effects: パスnew_fpで、パスold_fpへのシェルリンク(ショートカットファイル)を作成する。成功した場合は、ecには0が設定される。エラーが発生した場合は、ecにシステム依存のエラーコードを設定する。
    Returns: ec
  2. template<typename Path> 
      void create_shell_link(const Path& old_fp, const Path& new_fp);
    Effects:
    boost::system::error_code ec;
    hamigaki::filesystem::create_shell_link(old_fp, new_fp, ec);
    Throws: ecがエラーの場合、boost::filesystem::filesystem_error
製作著作 © 2006-2008 Takeshi Mouri

前のページ 上に戻る ホーム 次のページ