1//===-- DataBufferLLVM.cpp ------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "lldb/Utility/DataBufferLLVM.h"
10
11#include "llvm/Support/MemoryBuffer.h"
12
13#include <cassert>
14
15using namespace lldb_private;
16
17DataBufferLLVM::DataBufferLLVM(std::unique_ptr<llvm::MemoryBuffer> MemBuffer)
18 : Buffer(std::move(MemBuffer)) {
19 assert(Buffer != nullptr &&
20 "Cannot construct a DataBufferLLVM with a null buffer");
21}
22
23DataBufferLLVM::~DataBufferLLVM() = default;
24
25const uint8_t *DataBufferLLVM::GetBytesImpl() const {
26 return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart());
27}
28
29lldb::offset_t DataBufferLLVM::GetByteSize() const {
30 return Buffer->getBufferSize();
31}
32
33WritableDataBufferLLVM::WritableDataBufferLLVM(
34 std::unique_ptr<llvm::WritableMemoryBuffer> MemBuffer)
35 : Buffer(std::move(MemBuffer)) {
36 assert(Buffer != nullptr &&
37 "Cannot construct a WritableDataBufferLLVM with a null buffer");
38}
39
40WritableDataBufferLLVM::~WritableDataBufferLLVM() = default;
41
42const uint8_t *WritableDataBufferLLVM::GetBytesImpl() const {
43 return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart());
44}
45
46lldb::offset_t WritableDataBufferLLVM::GetByteSize() const {
47 return Buffer->getBufferSize();
48}
49
50char DataBufferLLVM::ID;
51char WritableDataBufferLLVM::ID;
52

source code of lldb/source/Utility/DataBufferLLVM.cpp