directory_options options() const;
概要
走査オプションを取得する。
事前条件
*thisがデリファレンス可能であること。終端イテレータや、インクリメントによって無効化されたコピーはデリファレンス可能ではない。
戻り値
コンストラクタで設定されたオプションを返す。コンストラクタで明示的にオプションを指定していない場合は、directory_options::noneを返す。
例
#include <cassert>
#include <filesystem>
#include <fstream>
namespace fs = std::filesystem;
int main()
{
fs::create_directory("dir");
std::ofstream{"dir/a.txt"};
std::ofstream{"dir/b.txt"};
fs::recursive_directory_iterator it{"dir", fs::directory_options::follow_directory_symlink};
fs::directory_options opt = it.options();
assert(opt == fs::directory_options::follow_directory_symlink);
}
出力
バージョン
言語
- C++17
処理系
- Clang: 7.0 ✅
- GCC: 8.1 ✅
- Visual C++:
参照
- LWG Issue 2704.
recursive_directory_iterator's members should require '*thisis dereferenceable'- C++17の策定中に、
options/depth/recursion_pending/pop/disable_recursion_pendingは*thisがデリファレンス可能であることを要求する(そうでない場合は未定義動作)と規定された
- C++17の策定中に、