AM Daemon ライブラリリファレンス
Path.h
[詳解]
1 /// @file
2 /// @brief パス操作処理を提供する静的クラス Path のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_UTIL_PATH_H
7 #define AMDAEMON_UTIL_PATH_H
8 
9 #include "amdaemon/env.h"
10 
11 #include <string>
12 
13 namespace amdaemon
14 {
15 namespace util
16 {
17  /// パス操作処理を提供する静的クラス。
18  class Path
19  {
20  public:
21  /// @brief 指定したパスのファイルまたはディレクトリが存在するか否かを取得する。
22  /// @param[in] path パス。
23  /// @retval true 存在する場合。
24  /// @retval false 存在しない場合。
25  static bool exists(const std::wstring& path);
26 
27  /// @brief 指定したパスのファイルが存在するか否かを取得する。
28  /// @param[in] path パス。
29  /// @retval true 存在する場合。
30  /// @retval false 存在しないか、ファイルではない場合。
31  /// @see File::exists
32  static bool existsFile(const std::wstring& path);
33 
34  /// @brief 指定したパスのディレクトリが存在するか否かを取得する。
35  /// @param[in] path パス。
36  /// @retval true 存在する場合。
37  /// @retval false 存在しないか、ディレクトリではない場合。
38  static bool existsDirectory(const std::wstring& path);
39 
40  /// @brief 指定したパスがドライブレターを含んでいるか否かを取得する。
41  /// @param[in] path パス。
42  /// @retval true ドライブレターを含んでいる場合。
43  /// @retval false ドライブレターを含んでいない場合。
44  ///
45  /// 引数 path が2文字以上であり、
46  /// かつ1文字目がアルファベット、2文字目が ':' である場合に true を返す。
47  ///
48  /// Windows環境であるか否かは問わない。
49  static bool hasDriveLetter(const std::wstring& path);
50 
51  /// @brief 指定したパスが絶対パスであるか否かを取得する。
52  /// @param[in] path パス。
53  /// @retval true 絶対パスである場合。
54  /// @retval false 絶対パスではない場合。
55  ///
56  /// 引数 path が下記のいずれかを満たす場合に true を返す。
57  ///
58  /// - 1文字以上かつ1文字目がディレクトリ区切り文字である場合。
59  /// - Windows環境であり、かつ静的メンバ関数 #hasDriveLetter が true を返す場合。
60  static bool isRooted(const std::wstring& path);
61 
62  /// @brief 実行ファイルのパスを取得する。
63  /// @return 実行ファイルのパス。取得に失敗した場合は空文字列。
64  static std::wstring getExecutableFile();
65 
66  /// @brief 実行ファイルの配置先ディレクトリパスを取得する。
67  /// @return 実行ファイルの配置先ディレクトリパス。取得に失敗した場合は空文字列。
68  ///
69  /// 取得に成功した場合、戻り値の末尾は必ずディレクトリ区切り文字となる。
70  static std::wstring getExecutableDirectory();
71 
72  /// @brief パスをフルパスに変換する。
73  /// @param[in] path パス。
74  /// @return フルパス。変換できなかった場合は空文字列。
75  static std::wstring toFull(const std::wstring& path);
76 
77  /// @brief パスからその末端要素のファイル名またはディレクトリ名を取得する。
78  /// @param[in] path パス。
79  /// @return ファイル名またはディレクトリ名。取得できなかった場合は空文字列。
80  ///
81  /// ファイル名の場合、拡張子を含む。
82  ///
83  /// パスの末尾がディレクトリ区切り文字である場合は空文字列を返す。
84  static std::wstring getName(const std::wstring& path);
85 
86  /// @brief パスからその末端要素のファイル名またはディレクトリ名を拡張子なしで取得する。
87  /// @param[in] path パス。
88  /// @return
89  /// ファイル名またはディレクトリ名((拡張子なし))。取得できなかった場合は空文字列。
90  ///
91  /// 静的メンバ関数 #getName とは異なり、拡張子を含まない。
92  /// パスがファイルであるかディレクトリであるかは考慮しないため、
93  /// ディレクトリ名であっても "." を含む場合は拡張子として取り除かれる。
94  ///
95  /// パスの末尾がディレクトリ区切り文字である場合は空文字列を返す。
96  static std::wstring getNameWithoutExtension(const std::wstring& path);
97 
98  /// @brief パスから拡張子("." 付き)を取得する。
99  /// @param[in] path パス。
100  /// @return "." 付きの拡張子。拡張子が無い場合は空文字列。
101  ///
102  /// パスがファイルであるかディレクトリであるかは考慮しないため、
103  /// ディレクトリであっても "." を含む場合は拡張子として扱われる。
104  ///
105  /// パスの末尾がディレクトリ区切り文字である場合は空文字列を返す。
106  static std::wstring getExtension(const std::wstring& path);
107 
108  private:
109  // インスタンス化禁止
110  Path(); // 宣言のみ
111  Path(const Path&); // 宣言のみ
112  Path& operator=(const Path&); // 宣言のみ
113  };
114 } // namespace util
115 } // namespace amdaemon
116 
117 #endif // AMDAEMON_UTIL_PATH_H
static std::wstring getNameWithoutExtension(const std::wstring &path)
パスからその末端要素のファイル名またはディレクトリ名を拡張子なしで取得する。
static bool exists(const std::wstring &path)
指定したパスのファイルまたはディレクトリが存在するか否かを取得する。
static bool isRooted(const std::wstring &path)
指定したパスが絶対パスであるか否かを取得する。
static std::wstring getExecutableDirectory()
実行ファイルの配置先ディレクトリパスを取得する。
static std::wstring getExecutableFile()
実行ファイルのパスを取得する。
static std::wstring getName(const std::wstring &path)
パスからその末端要素のファイル名またはディレクトリ名を取得する。
static std::wstring toFull(const std::wstring &path)
パスをフルパスに変換する。
Daemonライブラリの環境定義を行うヘッダ。
パス操作処理を提供する静的クラス。
Definition: Path.h:18
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
static std::wstring getExtension(const std::wstring &path)
パスから拡張子("." 付き)を取得する。
static bool existsDirectory(const std::wstring &path)
指定したパスのディレクトリが存在するか否かを取得する。
static bool hasDriveLetter(const std::wstring &path)
指定したパスがドライブレターを含んでいるか否かを取得する。
static bool existsFile(const std::wstring &path)
指定したパスのファイルが存在するか否かを取得する。