Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
IPatchDataLayerRefs.hpp
Go to the documentation of this file.
1// -------------------------------------------------------//
2//
3// SHAMROCK code for hydrodynamics
4// Copyright (c) 2021-2026 Timothée David--Cléris <tim.shamrock@proton.me>
5// SPDX-License-Identifier: CeCILL Free Software License Agreement v2.1
6// Shamrock is licensed under the CeCILL 2.1 License, see LICENSE for more information
7//
8// -------------------------------------------------------//
9
10#pragma once
11
23#include <functional>
24
25namespace shamrock::solvergraph {
26
27 using PatchDataLayerRef = std::reference_wrapper<patch::PatchDataLayer>;
28
30
31 public:
32 using IEdgeNamed::IEdgeNamed;
33
34 virtual ~IPatchDataLayerRefs() = default;
35
36 virtual patch::PatchDataLayer &get(u64 id_patch) = 0;
37 virtual const patch::PatchDataLayer &get(u64 id_patch) const = 0;
38
39 virtual const shambase::DistributedData<PatchDataLayerRef> &get_const_refs() const = 0;
41 };
42
43} // namespace shamrock::solvergraph
std::uint64_t u64
64 bit unsigned integer
Represents a collection of objects distributed across patches identified by a u64 id.
PatchDataLayer container class, the layout is described in patchdata_layout.