diff options
author | Lioncash <mathew1800@gmail.com> | 2020-08-05 17:47:41 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2020-08-05 18:37:00 +0200 |
commit | 0a5456feb9bc2a0e7f02b4b7cee34f0353e76b59 (patch) | |
tree | e88b639971d1b41d944829db79083e92b7548415 /src/core/file_sys/vfs_vector.h | |
parent | Merge pull request #4476 from lioncash/tz (diff) | |
download | yuzu-0a5456feb9bc2a0e7f02b4b7cee34f0353e76b59.tar yuzu-0a5456feb9bc2a0e7f02b4b7cee34f0353e76b59.tar.gz yuzu-0a5456feb9bc2a0e7f02b4b7cee34f0353e76b59.tar.bz2 yuzu-0a5456feb9bc2a0e7f02b4b7cee34f0353e76b59.tar.lz yuzu-0a5456feb9bc2a0e7f02b4b7cee34f0353e76b59.tar.xz yuzu-0a5456feb9bc2a0e7f02b4b7cee34f0353e76b59.tar.zst yuzu-0a5456feb9bc2a0e7f02b4b7cee34f0353e76b59.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/file_sys/vfs_vector.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/file_sys/vfs_vector.h b/src/core/file_sys/vfs_vector.h index ac36cb2ee..95d3da2f2 100644 --- a/src/core/file_sys/vfs_vector.h +++ b/src/core/file_sys/vfs_vector.h @@ -4,7 +4,11 @@ #pragma once +#include <array> #include <cstring> +#include <memory> +#include <string> +#include <vector> #include "core/file_sys/vfs.h" namespace FileSys { @@ -13,7 +17,8 @@ namespace FileSys { template <std::size_t size> class ArrayVfsFile : public VfsFile { public: - ArrayVfsFile(std::array<u8, size> data, std::string name = "", VirtualDir parent = nullptr) + explicit ArrayVfsFile(const std::array<u8, size>& data, std::string name = "", + VirtualDir parent = nullptr) : data(data), name(std::move(name)), parent(std::move(parent)) {} std::string GetName() const override { @@ -61,6 +66,12 @@ private: VirtualDir parent; }; +template <std::size_t Size, typename... Args> +std::shared_ptr<ArrayVfsFile<Size>> MakeArrayFile(const std::array<u8, Size>& data, + Args&&... args) { + return std::make_shared<ArrayVfsFile<Size>>(data, std::forward<Args>(args)...); +} + // An implementation of VfsFile that is backed by a vector optionally supplied upon construction class VectorVfsFile : public VfsFile { public: |