LLDB mainline
DataBufferLLVM.cpp
Go to the documentation of this file.
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
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
24
25const uint8_t *DataBufferLLVM::GetBytesImpl() const {
26 return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart());
27}
28
30 return Buffer->getBufferSize();
31}
32
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
41
43 return reinterpret_cast<const uint8_t *>(Buffer->getBufferStart());
44}
45
47 return Buffer->getBufferSize();
48}
49
lldb::offset_t GetByteSize() const override
Get the number of bytes in the data buffer.
DataBufferLLVM(std::unique_ptr< llvm::MemoryBuffer > Buffer)
}
std::unique_ptr< llvm::MemoryBuffer > Buffer
static char ID
LLVM RTTI support.
const uint8_t * GetBytesImpl() const override
}
const uint8_t * GetBytesImpl() const override
}
lldb::offset_t GetByteSize() const override
Get the number of bytes in the data buffer.
WritableDataBufferLLVM(std::unique_ptr< llvm::WritableMemoryBuffer > Buffer)
}
static char ID
LLVM RTTI support.
std::unique_ptr< llvm::WritableMemoryBuffer > Buffer
A class that represents a running process on the host machine.
Definition: SBAttachInfo.h:14
uint64_t offset_t
Definition: lldb-types.h:83