remove the owned stuff from filesystem module
This commit is contained in:
parent
60aba3a82b
commit
c5fb814bb3
|
@ -215,12 +215,10 @@ struct DirectoryRange;
|
||||||
struct DirectoryStream {
|
struct DirectoryStream {
|
||||||
friend struct DirectoryRange;
|
friend struct DirectoryRange;
|
||||||
|
|
||||||
DirectoryStream(): p_d(), p_path(), p_owned(false) {}
|
DirectoryStream(): p_d(), p_path() {}
|
||||||
DirectoryStream(const DirectoryStream &) = delete;
|
DirectoryStream(const DirectoryStream &) = delete;
|
||||||
DirectoryStream(DirectoryStream &&s): p_d(s.p_d), p_path(move(s.p_path)),
|
DirectoryStream(DirectoryStream &&s): p_d(s.p_d), p_path(move(s.p_path)) {
|
||||||
p_owned(s.p_owned) {
|
|
||||||
s.p_d = nullptr;
|
s.p_d = nullptr;
|
||||||
s.p_owned = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DirectoryStream(ConstCharRange path): p_d() {
|
DirectoryStream(ConstCharRange path): p_d() {
|
||||||
|
@ -243,17 +241,14 @@ struct DirectoryStream {
|
||||||
buf[path.size()] = '\0';
|
buf[path.size()] = '\0';
|
||||||
p_d = opendir(buf);
|
p_d = opendir(buf);
|
||||||
p_path = path;
|
p_path = path;
|
||||||
p_owned = true;
|
|
||||||
return is_open();
|
return is_open();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_open() const { return p_d != nullptr; }
|
bool is_open() const { return p_d != nullptr; }
|
||||||
bool is_owned() const { return p_owned; }
|
|
||||||
|
|
||||||
void close() {
|
void close() {
|
||||||
if (p_d && p_owned) closedir(p_d);
|
if (p_d) closedir(p_d);
|
||||||
p_d = nullptr;
|
p_d = nullptr;
|
||||||
p_owned = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
long size() const {
|
long size() const {
|
||||||
|
@ -290,7 +285,6 @@ struct DirectoryStream {
|
||||||
void swap(DirectoryStream &s) {
|
void swap(DirectoryStream &s) {
|
||||||
detail::swap_adl(p_d, s.p_d);
|
detail::swap_adl(p_d, s.p_d);
|
||||||
detail::swap_adl(p_path, s.p_path);
|
detail::swap_adl(p_path, s.p_path);
|
||||||
detail::swap_adl(p_owned, s.p_owned);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DirectoryRange iter();
|
DirectoryRange iter();
|
||||||
|
@ -322,7 +316,6 @@ private:
|
||||||
|
|
||||||
DIR *p_d;
|
DIR *p_d;
|
||||||
String p_path;
|
String p_path;
|
||||||
bool p_owned;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct DirectoryRange: InputRange<
|
struct DirectoryRange: InputRange<
|
||||||
|
|
Loading…
Reference in a new issue