30 std::unordered_map<u64, PatchDataField<T>> field_data;
34 using namespace shamrock::patch;
42 field_data.at(id_patch).resize(pdat.get_obj_cnt());
46 inline void generate(
PatchScheduler &sched, std::unordered_map<u64, u32> &size_map) {
48 using namespace shamrock::patch;
50 sched.for_each_patch([&](
u64 id_patch,
Patch cur_p) {
52 field_data.at(id_patch).resize(size_map[id_patch]);
60 inline const std::unique_ptr<sycl::buffer<T>> &get_buf(
u64 id_patch)
const {
61 return field_data.at(id_patch).get_buf();
65 inline std::unique_ptr<sycl::buffer<T>> get_sub_buf(
u64 id_patch) {
66 return field_data.at(id_patch).get_sub_buf();