Buffer(std::size_t size, Type type = Type::Malloc);
Buffer(void* data, std::size_t size, Type type = Type::Malloc) :
data_(data), size_(size), type_(type) {}
Buffer(std::size_t size, Type type = Type::Malloc);
Buffer(void* data, std::size_t size, Type type = Type::Malloc) :
data_(data), size_(size), type_(type) {}