JD2022-TU1/main/extern/libwebm/custom/mkvparser/blockentry.hpp

38 lines
No EOL
699 B
C++

#ifndef MKVP_BLOCKENTRY_HPP
#define MKVP_BLOCKENTRY_HPP
#include "memory.hpp"
namespace mkvparser
{
class Cluster;
class Block;
class BlockEntry : public mem::AllocBase
{
BlockEntry(const BlockEntry&);
BlockEntry& operator=(const BlockEntry&);
protected:
BlockEntry(Cluster*, long index);
public:
virtual ~BlockEntry();
bool EOS() const;
const Cluster* GetCluster() const;
long GetIndex() const;
virtual const Block* GetBlock() const = 0;
enum Kind { kBlockEOS, kBlockSimple, kBlockGroup };
virtual Kind GetKind() const = 0;
protected:
Cluster* const m_pCluster;
const long m_index;
};
} // namespace mkvparser
#endif // MKVP_BLOCKENTRY_HPP