update io::SubDevice constructor

This commit is contained in:
MihailRis 2025-02-04 13:08:42 +03:00
parent e4c33e539e
commit bced20be1f
2 changed files with 21 additions and 2 deletions

16
src/io/devices/Device.cpp Normal file
View File

@ -0,0 +1,16 @@
#include "Device.hpp"
#include "../io.hpp"
using namespace io;
SubDevice::SubDevice(
std::shared_ptr<Device> parent,
const std::string& path,
bool createDirectory
)
: parent(std::move(parent)), root(path) {
if (createDirectory && !this->parent->exists(path)) {
this->parent->mkdirs(path);
}
}

View File

@ -28,8 +28,11 @@ namespace io {
class SubDevice : public Device {
public:
SubDevice(std::shared_ptr<Device> parent, const std::string& path)
: parent(std::move(parent)), root(path) {}
SubDevice(
std::shared_ptr<Device> parent,
const std::string& path,
bool createDirectory = true
);
std::filesystem::path resolve(std::string_view path) override {
return parent->resolve((root / path).pathPart());