aboutsummaryrefslogtreecommitdiff
path: root/lib/embed.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/embed.h')
-rw-r--r--lib/embed.h29
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
}
-