ActiveLib
Loading...
Searching...
No Matches
Directory.h
1
6#ifndef ACTIVE_FILE_DIRECTORY
7#define ACTIVE_FILE_DIRECTORY
8
9#include "Active/File/Interface/FSNode.h"
10#include "Active/Utility/String.h"
11
12namespace active::file {
13
15 class Directory : public FSNode {
16 public:
17
18 // MARK: Types
19
21 using Unique = std::unique_ptr<Directory>;
22
23 using iterator = std::filesystem::directory_iterator;
24
25 // MARK: Constructors
26
30 Directory();
38 Directory(const Path& path, bool isMissingCreated = false, bool canReplaceFile = false);
47 Directory(const Directory& parent, const utility::String& name, bool isMissingCreated = false, bool canReplaceFile = false);
52 Directory(const Directory& source) noexcept;
53
58 virtual Directory* clonePtr() const override { return new Directory(*this); }
59
60 //MARK: - Static functions
61
67 static Directory current();
68
74 static Directory temporary();
75
76 // MARK: Functions (const)
77
82 iterator begin() const;
87 iterator end() const;
88 };
89
90}
91
92#endif //ACTIVE_FILE_DIRECTORY
Class to represent a directory.
Definition Directory.h:15
static Directory current()
Definition Directory.cpp:64
std::unique_ptr< Directory > Unique
Unique pointer.
Definition Directory.h:21
iterator begin() const
Definition Directory.cpp:84
virtual Directory * clonePtr() const override
Definition Directory.h:58
Directory()
Definition Directory.cpp:18
iterator end() const
Definition Directory.cpp:94
static Directory temporary()
Definition Directory.cpp:74
Class to represent a file system node (directory, file etc)
Definition FSNode.h:19
Class to represent the path of a node in the local file system.
Definition Path.h:17
A Unicode-aware string class.
Definition String.h:51
Definition Directory.h:12