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
14
15namespace designlab
16{
17
20class FileTree final
21{
22public:
26 void DisplayFileTree(const std::string& path, int max_depth) const;
27
38 bool SelectFile(const std::string& path, int max_depth, const std::string& extension, const std::string keyword, std::string* output) const;
39
40private:
44 struct FileTreeData final
45 {
46 FileTreeData() : path(""), directory({}), file({}) {}
47
48 FileTreeData(
49 const std::string& _path,
50 const std::vector<FileTreeData>& _directory,
51 const std::vector<std::string>& _file) :
52 path(_path),
53 directory(_directory),
54 file(_file)
55 {
56 }
57
58 std::string path;
59 std::vector<FileTreeData> directory;
60 std::vector<std::string> file;
61 };
62
71 FileTreeData MakeFileTree(
72 const std::string& path, int max_depth,
73 const std::string& extension, const std::string keyword) const;
74
81 void OutputFileTree(const FileTreeData& tree, int depth, bool not_display_empty, int* file_count) const;
82
86 std::vector<std::string> MakeFileList(const FileTreeData& tree) const;
87};
88
89} // namespace designlab
90
91
92#endif // DESIGNLAB_FILE_TREE_H_
ファイルツリーを作成するクラス.
Definition file_tree.h:21
void DisplayFileTree(const std::string &path, int max_depth) const
ファイルツリーを表示する.
Definition file_tree.cpp:19
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:27