| 165 | } |
| 166 | |
| 167 | sugoi_query_t* sugoi_storage_t::make_query(const sugoi_filter_t& filter, const sugoi_parameters_t& params) |
| 168 | { |
| 169 | using namespace sugoi; |
| 170 | |
| 171 | sugoi::fixed_arena_t arena(4096); |
| 172 | auto result = arena.allocate<sugoi_query_t>(); |
| 173 | auto buffer = (char*)arena.allocate(data_size(filter) + data_size(params), alignof(sugoi_type_index_t)); |
| 174 | result->filter = sugoi::clone(filter, buffer); |
| 175 | result->parameters = sugoi::clone(params, buffer); |
| 176 | queriesBuilt = false; |
| 177 | result->storage = this; |
| 178 | arena.forget(); |
| 179 | queries.push_back(result); |
| 180 | return result; |
| 181 | } |
| 182 | |
| 183 | //[in][rand]$|comp'' |
| 184 | sugoi_query_t* sugoi_storage_t::make_query(const char8_t* inDesc) |