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