blob: e4017de5ddc31fb424b9fb06e965d437d88cf903 [file]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/storage/lib/buffer/array_buffer.h"
#include <zircon/assert.h>
namespace storage {
ArrayBuffer::ArrayBuffer(size_t capacity, uint32_t block_size)
: buffer_(block_size * capacity), block_size_(block_size) {}
void* ArrayBuffer::Data(size_t index) {
return const_cast<void*>(const_cast<const ArrayBuffer*>(this)->Data(index));
}
const void* ArrayBuffer::Data(size_t index) const {
ZX_DEBUG_ASSERT(index < capacity());
return &buffer_[index * block_size_];
}
} // namespace storage