Make FrameSize a static constant.

This commit is contained in:
King_DuckZ 2020-03-20 01:46:42 +01:00
parent d475003215
commit 965dafa240
2 changed files with 5 additions and 4 deletions

View file

@ -23,6 +23,8 @@ class BasicBlock {
public:
using data_type = typename std::conditional<Const, const uint8_t, uint8_t>::type;
static const constexpr unsigned int FrameSize = 128;
explicit BasicBlock (data_type* beg);
~BasicBlock();
@ -36,7 +38,7 @@ public:
data_type* frame(unsigned int idx);
const data_type* frame(unsigned int idx) const;
static constexpr std::size_t size() { return 8192; }
static constexpr std::size_t size() { return FrameSize * 64; }
const std::vector<uint8_t>& palette() const { return m_icon_palette; }
bool has_magic() const;

View file

@ -92,9 +92,8 @@ auto BasicBlock<Const>::frame(unsigned int idx) -> data_type* {
template <bool Const>
auto BasicBlock<Const>::frame(unsigned int idx) const -> const data_type* {
const constexpr unsigned int framesize = 128;
assert(idx * framesize + framesize <= this->size());
return this->begin() + framesize * idx;
assert(idx * FrameSize + FrameSize <= this->size());
return this->begin() + FrameSize * idx;
}
template <bool Const>