48#include <unordered_map>
139 using is_transparent = void;
146 std::size_t operator()(std::string_view view)
const noexcept {
147 return std::hash<std::string_view>{}(view);
159 void Initialize() noexcept;
164 void Load() noexcept;
169 void LoadCodecs() noexcept;
176 void LoadCodecs(
Type type, std::span<const Tables::
Codec::CodecDef> table) noexcept;
183 void Add(
Type type, const Tables::
Codec::CodecDef& def) noexcept;
188 void LoadContainers() noexcept;
194 void Add(const Tables::
Container::ContainerDef& def) noexcept;
201 Access ProbeContainer(const Tables::
Container::ContainerDef& def) const noexcept;
203 std::vector<
Codec> m_codecs;
204 std::unordered_map<std::string_view, std::
size_t, NameHash, std::equal_to<>> m_by_name;
205 std::unordered_map<
Type, std::vector<std::
size_t>> m_by_type;
207 std::unordered_map<std::string_view, std::
size_t, NameHash, std::equal_to<>> m_container_by_name;
#define STORMBYTE_MULTIMEDIA_PUBLIC
Imported symbol.
Definition visibility.h:47