StringRefMemoryObject.h [plain text]
#ifndef LLVM_SUPPORT_STRINGREFMEMORYOBJECT_H
#define LLVM_SUPPORT_STRINGREFMEMORYOBJECT_H
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/MemoryObject.h"
namespace llvm {
class StringRefMemoryObject : public MemoryObject {
StringRef Bytes;
uint64_t Base;
public:
StringRefMemoryObject(StringRef Bytes, uint64_t Base = 0)
: Bytes(Bytes), Base(Base) {}
uint64_t getBase() const override { return Base; }
uint64_t getExtent() const override { return Bytes.size(); }
int readByte(uint64_t Addr, uint8_t *Byte) const override;
int readBytes(uint64_t Addr, uint64_t Size, uint8_t *Buf) const override;
};
}
#endif