最終更新日時(UTC):
が更新

履歴 編集

function
<filesystem>

std::filesystem::recursive_directory_iterator::recursion_pending(C++17)

bool recursion_pending() const;

概要

再帰しないかどうかが未決定かを確認する。

戻り値

disable_recursion_pending()がそのディレクトリに対して呼ばれていなければtrue、そうでなければfalseを返す。

例外

投げない

#include <iostream>
#include <filesystem>
#include <fstream>

namespace fs = std::filesystem;

int main()
{
  fs::create_directory("dir");
  std::ofstream{"dir/a.txt"};
  fs::create_directory("dir/inner_dir");
  std::ofstream{"dir/inner_dir/b.txt"};

  fs::recursive_directory_iterator it{"dir"};
  fs::recursive_directory_iterator last{};

  std::cout << std::boolalpha;
  for (; it != last; ++it) {
    if (it->path().filename() == "inner_dir")
        it.disable_recursion_pending();

    std::cout << it->path() << " : " << it.recursion_pending() << std::endl;
  }
}

出力例

"dir/inner_dir" : false
"dir/a.txt" : true

バージョン

言語

  • C++17

処理系