📄 gfile.h
字号:
#pragma once
#include <string>
#include <map>
#include <vector>
namespace Cluster
{
class GFNode;
typedef ::std::map<::std::string, GFNode*> FileMap;
class GFNode {
public:
GFNode(const ::std::string &, GFNode*);
virtual ::std::string name();
virtual bool isDirectory();
virtual GFNode* locate(const ::std::string &);
virtual ::std::string blockTableName();
virtual void addChild(GFNode* child);
virtual ::std::string absolutePath();
virtual FileMap* children();
virtual ::std::vector<GFNode*> allChildren();
virtual void deleteFile(std::string filename);
virtual void destory();
private:
::std::string _name;
GFNode* _parent;
};
class GFile : virtual public GFNode {
public:
GFile(const ::std::string &, GFNode*, const ::std::string &);
virtual ::std::string blockTableName();
private:
::std::string _blockTableName;
};
class GDirectory : virtual public GFNode {
public:
GDirectory(const ::std::string &, GFNode*);
virtual GFNode* locate(const ::std::string &);
virtual bool createFile(std::string filename, int fileType, std::string* blockTableName);
virtual bool isDirectory();
virtual void addChild(GFNode* child);
virtual FileMap* children();
virtual ::std::vector<GFNode*> allChildren();
virtual void deleteFile(std::string filename);
virtual void destory();
FileMap* m_children;
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -