/src/llama.cpp/include/llama-cpp.h
Line | Count | Source |
1 | | #pragma once |
2 | | |
3 | | #ifndef __cplusplus |
4 | | #error "This header is for C++ only" |
5 | | #endif |
6 | | |
7 | | #include <memory> |
8 | | |
9 | | #include "llama.h" |
10 | | |
11 | | struct llama_model_deleter { |
12 | 0 | void operator()(llama_model * model) { llama_model_free(model); } |
13 | | }; |
14 | | |
15 | | struct llama_context_deleter { |
16 | 0 | void operator()(llama_context * context) { llama_free(context); } |
17 | | }; |
18 | | |
19 | | struct llama_sampler_deleter { |
20 | 0 | void operator()(llama_sampler * sampler) { llama_sampler_free(sampler); } |
21 | | }; |
22 | | |
23 | | struct llama_adapter_lora_deleter { |
24 | 0 | void operator()(llama_adapter_lora * adapter) { llama_adapter_lora_free(adapter); } |
25 | | }; |
26 | | |
27 | | typedef std::unique_ptr<llama_model, llama_model_deleter> llama_model_ptr; |
28 | | typedef std::unique_ptr<llama_context, llama_context_deleter> llama_context_ptr; |
29 | | typedef std::unique_ptr<llama_sampler, llama_sampler_deleter> llama_sampler_ptr; |
30 | | typedef std::unique_ptr<llama_adapter_lora, llama_adapter_lora_deleter> llama_adapter_lora_ptr; |