aboutsummaryrefslogtreecommitdiff
path: root/lib/embed.h
blob: bd041ff590dca8d7f7de3fd10b2fc34f73eeaa6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once

#include <frozen/string.h>
#include <frozen/unordered_map.h>
#include <span>
#include <vector>

namespace embed
{

enum Compression {
    None,
    Zstd
};

template <Compression c>
class Resources
{
public:
    Resources() = default;
    explicit Resources(const std::span<const unsigned char> &dictionary);

    ~Resources();

    [[nodiscard]] std::vector<unsigned char> decompress(const std::span<const unsigned char> &entry);

}; // class

}