dius 0.1.0
Loading...
Searching...
No Matches
file_status.h
Go to the documentation of this file.
1#pragma once
2
3#include "dius/filesystem/file_type.h"
5
6namespace dius::filesystem {
7class FileStatus {
8public:
9 constexpr FileStatus() : FileStatus(FileType::None) {}
10
11 FileStatus(FileStatus const&) = default;
12 FileStatus(FileStatus&&) = default;
13
15 : m_type(type), m_permsissions(permissions) {}
16
17 auto operator=(FileStatus const&) -> FileStatus& = default;
18 auto operator=(FileStatus&&) -> FileStatus& = default;
19
20 constexpr auto type() const -> FileType { return m_type; }
21 constexpr auto permissions() const -> Perms { return m_permsissions; }
22
23private:
24 constexpr friend auto operator==(FileStatus const& a, FileStatus const& b) -> bool {
25 return a.type() == b.type() && a.permissions() == b.permissions();
26 }
27
28 FileType m_type;
29 Perms m_permsissions;
30};
31}
constexpr FileStatus()
Definition file_status.h:9
constexpr auto type() const -> FileType
Definition file_status.h:20
FileStatus(FileStatus &&)=default
constexpr friend auto operator==(FileStatus const &a, FileStatus const &b) -> bool
Definition file_status.h:24
FileStatus(FileStatus const &)=default
auto operator=(FileStatus &&) -> FileStatus &=default
constexpr auto permissions() const -> Perms
Definition file_status.h:21
constexpr FileStatus(FileType type, Perms permissions=Perms::Unknown)
Definition file_status.h:14
auto operator=(FileStatus const &) -> FileStatus &=default
Definition directory_entry.h:11
FileType
Definition file_type.h:7
@ None
Definition directory_options.h:7
Perms
Definition perms.h:6
@ Unknown
Definition perms.h:25