D
template<std::size_t w, std::size_t h>
class AbstractDisplay {
static constexpr auto width = w;
static constexpr auto height = h;
...
};
class Display : public AbstractDisplay<240, 240> {};
template <typename D>
class Graphic { static_assert(std::is_base_of<AbstractDisplay, D>::value);
std::array<uint8_t, D::width * D::height>;
};
static_assert