diff options
Diffstat (limited to 'lib/embed.h')
-rw-r--r-- | lib/embed.h | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/lib/embed.h b/lib/embed.h index 566b14c..bd041ff 100644 --- a/lib/embed.h +++ b/lib/embed.h @@ -1,34 +1,29 @@ #pragma once -#include <span> -#include <string> -#include <unordered_map> -#include <frozen/unordered_map.h> #include <frozen/string.h> +#include <frozen/unordered_map.h> +#include <span> +#include <vector> -namespace embed { +namespace embed +{ enum Compression { None, Zstd }; -struct ResourceData { - Compression compression = None; - std::span<const unsigned char> dictionary; -}; - -class Resources { +template <Compression c> +class Resources +{ public: - explicit Resources(const ResourceData &info); + Resources() = default; + explicit Resources(const std::span<const unsigned char> &dictionary); + ~Resources(); - [[nodiscard]] - std::span<unsigned char> decompress(const std::span<const unsigned char> &entry); + [[nodiscard]] std::vector<unsigned char> decompress(const std::span<const unsigned char> &entry); -private: - const ResourceData m_info; }; // class } - |