|
@@ -11,25 +11,24 @@ public:
|
|
|
|
|
|
private:
|
|
|
deleter_type m_del;
|
|
|
- unsigned char* m_bm;
|
|
|
std::size_t m_size;
|
|
|
+ unsigned char* m_bm;
|
|
|
|
|
|
static constexpr std::size_t SZ = sizeof(unsigned char) * 8;
|
|
|
|
|
|
public:
|
|
|
constexpr bitmap(const deleter_type& del, unsigned char* bm, std::size_t size)
|
|
|
- : m_del(del), m_bm(bm), m_size(size) {}
|
|
|
+ : m_del(del), m_size(size), m_bm(bm) {}
|
|
|
constexpr bitmap(deleter_type&& del, unsigned char* bm, std::size_t size)
|
|
|
- : m_del(std::move(del)), m_bm(bm), m_size(size) {}
|
|
|
+ : m_del(std::move(del)), m_size(size), m_bm(bm) {}
|
|
|
|
|
|
explicit constexpr bitmap(std::size_t size)
|
|
|
- {
|
|
|
- m_size = (size / SZ) + ((size % SZ) ? 1 : 0);
|
|
|
- m_bm = new unsigned char[m_size] {};
|
|
|
- m_del = [](unsigned char* bm, std::size_t) {
|
|
|
+ : m_del { [](unsigned char* bm, std::size_t) {
|
|
|
delete[] bm;
|
|
|
- };
|
|
|
- }
|
|
|
+ } }
|
|
|
+ , m_size { (size / SZ) + ((size % SZ) ? 1 : 0) }
|
|
|
+ , m_bm { new unsigned char[m_size] {} }
|
|
|
+ { }
|
|
|
|
|
|
bitmap(const bitmap&) = delete;
|
|
|
|