16 Riff(
const uint8_t* data,
size_t sz);
18 const char*
id()
const {
return head.id; }
19 bool is(
const char* idx)
const {
return head.is(idx); }
28 void read(std::u16string& str);
29 void read(std::string& str);
30 void read(std::vector<uint8_t>& vec);
31 void read(
void* dest,
size_t sz);
37 F& f = *
reinterpret_cast<F*
>(pf);
50 for(
size_t i=0;i<cnt;++i) {
51 read(&all[i],
sizeof(T));
56 for(
size_t i=0;i<cnt;++i) {
63 struct ChunkHeader final {
65 std::uint32_t size =0;
66 bool is(
const char* idx)
const {
return std::memcmp(
id,idx,4)==0; }
69 void readHdr(ChunkHeader& h);
72 void onError(
const char* msg);
bool is(const char *idx) const
void read(std::u16string &str)
void readAll(std::vector< T > &all)
void(*)(void *ctx, Riff &chunk) Callback
bool isListId(const char *id)