std::filesystem:: begin (directory_iterator) , std::filesystem:: end (directory_iterator)
From cppreference.net
<
cpp
|
filesystem
|
directory iterator
|
定義先ヘッダ
<filesystem>
|
||
|
directory_iterator begin
(
directory_iterator iter
)
noexcept
;
|
(1) | (C++17以降) |
|
directory_iterator end
(
directory_iterator
)
noexcept
;
|
(2) | (C++17以降) |
1)
iter
を変更せずに返します。
2)
デフォルト構築された
directory_iterator
を返します。これは終端イテレータとして機能します。引数は無視されます。
これらの非メンバ関数は、
directory_iterator
を範囲ベースforループで使用できるようにし、
directory_iterator
を
range
型にすることを可能にします
(C++20以降)
。
目次 |
パラメータ
| iter | - |
a
directory_iterator
|
戻り値
1)
iter
変更なし。
2)
終了イテレータ(デフォルト構築された
directory_iterator
)。
例
このコードを実行
#include <filesystem> #include <fstream> #include <iostream> namespace fs = std::filesystem; int main() { fs::create_directories("sandbox/a/b"); std::ofstream("sandbox/file1.txt"); std::ofstream("sandbox/file2.txt"); for (auto& p : fs::directory_iterator("sandbox")) std::cout << p << '\n'; fs::remove_all("sandbox"); }
出力例:
"sandbox/a" "sandbox/file1.txt" "sandbox/file2.txt"
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 3480 | C++17 |
end
は引数を参照で受け取っていた
|
引数を値で受け取る |
関連項目
|
範囲ベースforループサポート
(関数) |