diff options
Diffstat (limited to 'llama.cpp/src/llama-io.h')
| -rw-r--r-- | llama.cpp/src/llama-io.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/llama.cpp/src/llama-io.h b/llama.cpp/src/llama-io.h new file mode 100644 index 0000000..ce9216b --- /dev/null +++ b/llama.cpp/src/llama-io.h @@ -0,0 +1,35 @@ +#pragma once + +#include <cstddef> +#include <cstdint> +#include <string> + +struct ggml_tensor; + +class llama_io_write_i { +public: + llama_io_write_i() = default; + virtual ~llama_io_write_i() = default; + + virtual void write(const void * src, size_t size) = 0; + virtual void write_tensor(const ggml_tensor * tensor, size_t offset, size_t size) = 0; + + // bytes written so far + virtual size_t n_bytes() = 0; + + void write_string(const std::string & str); +}; + +class llama_io_read_i { +public: + llama_io_read_i() = default; + virtual ~llama_io_read_i() = default; + + virtual const uint8_t * read(size_t size) = 0; + virtual void read_to(void * dst, size_t size) = 0; + + // bytes read so far + virtual size_t n_bytes() = 0; + + void read_string(std::string & str); +}; |
