GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
file_tree.h
[詳解]
1
3
4// Copyright(c) 2023-2025 Design Engineering Laboratory, Saitama University
5// Released under the MIT license
6// https://opensource.org/licenses/mit-license.php
7
8#ifndef DESIGNLAB_FILE_TREE_H_
9#define DESIGNLAB_FILE_TREE_H_
10
11#include <string>
12#include <vector>
13
14namespace designlab {
15
18class FileTree final {
19 public:
23 void DisplayFileTree(const std::string& path, int max_depth) const;
24
35 bool SelectFile(const std::string& path, int max_depth,
36 const std::string& extension, const std::string keyword,
37 std::string* output) const;
38
39 private:
43 struct FileTreeData final {
44 FileTreeData() : path(""), directory({}), file({}) {}
45
46 FileTreeData(const std::string& _path,
47 const std::vector<FileTreeData>& _directory,
48 const std::vector<std::string>& _file)
49 : path(_path), directory(_directory), file(_file) {}
50
51 std::string path;
52 std::vector<FileTreeData> directory;
53 std::vector<std::string> file;
54 };
55
64 FileTreeData MakeFileTree(const std::string& path, int max_depth,
65 const std::string& extension,
66 const std::string keyword) const;
67
75 void OutputFileTree(const FileTreeData& tree, int depth,
76 bool not_display_empty, int* file_count) const;
77
81 std::vector<std::string> MakeFileList(const FileTreeData& tree) const;
82};
83
84} // namespace designlab
85
86#endif // DESIGNLAB_FILE_TREE_H_
ファイルツリーを作成するクラス.
Definition file_tree.h:18
void DisplayFileTree(const std::string &path, int max_depth) const
ファイルツリーを表示する.
Definition file_tree.cpp:17
bool SelectFile(const std::string &path, int max_depth, const std::string &extension, const std::string keyword, std::string *output) const
ディレクトリの中から,ファイルを一つ選択する.
Definition file_tree.cpp:24