38 lines
No EOL
699 B
C++
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
|