11#define DEBUG_TYPE "orc"
20 *W.Addr.toPtr<
uint8_t *>() = W.Value;
27 *W.Addr.toPtr<
uint16_t *>() = W.Value;
34 *W.Addr.toPtr<
uint32_t *>() = W.Value;
41 *W.Addr.toPtr<
uint64_t *>() = W.Value;
49 *W.Addr.toPtr<
uint64_t *>() = W.Value.getValue();
61 memcpy(W.Addr.toPtr<
char *>(), W.Buffer.data(), W.Buffer.size());
71 OnComplete(std::move(
Result));
80 OnComplete(std::move(
Result));
89 OnComplete(std::move(
Result));
98 OnComplete(std::move(
Result));
107 OnComplete(std::move(
Result));
116 Result.back().resize(R.size());
117 memcpy(
Result.back().data(), R.Start.toPtr<
char *>(), R.size());
119 OnComplete(std::move(
Result));
128 for (
auto *
P = R.toPtr<
char *>(); *
P; ++
P)
131 OnComplete(std::move(
Result));
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
size_t size() const
size - Get the array size.
static ErrorSuccess success()
Create a success value.
static ExecutorAddr fromPtr(T *Ptr, UnwrapFn &&Unwrap=UnwrapFn())
Create an ExecutorAddr from the given pointer.
void writePointersAsync(ArrayRef< tpctypes::PointerWrite > Ws, WriteResultFn OnWriteComplete) override
void readStringsAsync(ArrayRef< ExecutorAddr > Rs, OnReadStringsCompleteFn OnComplete) override
void writeUInt32sAsync(ArrayRef< tpctypes::UInt32Write > Ws, WriteResultFn OnWriteComplete) override
void writeUInt8sAsync(ArrayRef< tpctypes::UInt8Write > Ws, WriteResultFn OnWriteComplete) override
void readUInt64sAsync(ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint64_t > OnComplete) override
void writeUInt16sAsync(ArrayRef< tpctypes::UInt16Write > Ws, WriteResultFn OnWriteComplete) override
void readUInt16sAsync(ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint16_t > OnComplete) override
void readUInt8sAsync(ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint8_t > OnComplete) override
void readPointersAsync(ArrayRef< ExecutorAddr > Rs, OnReadPointersCompleteFn OnComplete) override
void readUInt32sAsync(ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint32_t > OnComplete) override
void writeBuffersAsync(ArrayRef< tpctypes::BufferWrite > Ws, WriteResultFn OnWriteComplete) override
void readBuffersAsync(ArrayRef< ExecutorAddrRange > Rs, OnReadBuffersCompleteFn OnComplete) override
void writeUInt64sAsync(ArrayRef< tpctypes::UInt64Write > Ws, WriteResultFn OnWriteComplete) override
std::vector< std::string > ReadStringsResult
std::vector< ExecutorAddr > ReadPointersResult
std::vector< std::vector< uint8_t > > ReadBuffersResult
std::vector< T > ReadUIntsResult