36 explicit Storage(
size_t byte_size, DeviceType device)
37 : impl_(std::make_shared<StorageImpl>(byte_size, device)) {}
39 void* data()
const noexcept;
40 size_t byte_size()
const noexcept;
41 DeviceType device()
const noexcept;
43 void resize(
size_t nsize);
44 friend std::ostream& operator<<(std::ostream& os,
const Storage& obj);
48 std::shared_ptr<StorageImpl> impl_;