Shamrock
2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shamrock
include
shamrock
solvergraph
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
20
#include "
shambase/DistributedData.hpp
"
21
#include "
shamrock/patch/PatchDataLayer.hpp
"
22
#include "
shamrock/solvergraph/IEdgeNamed.hpp
"
23
#include <functional>
24
25
namespace
shamrock::solvergraph {
26
27
using
PatchDataLayerRef = std::reference_wrapper<patch::PatchDataLayer>;
28
29
class
IPatchDataLayerRefs
:
public
IEdgeNamed
{
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;
40
virtual
shambase::DistributedData<PatchDataLayerRef>
&get_refs() = 0;
41
};
42
43
}
// namespace shamrock::solvergraph
DistributedData.hpp
IEdgeNamed.hpp
PatchDataLayer.hpp
u64
std::uint64_t u64
64 bit unsigned integer
Definition
aliases_int.hpp:26
shambase::DistributedData
Represents a collection of objects distributed across patches identified by a u64 id.
Definition
DistributedData.hpp:43
shamrock::patch::PatchDataLayer
PatchDataLayer container class, the layout is described in patchdata_layout.
Definition
PatchDataLayer.hpp:35
shamrock::solvergraph::IEdgeNamed
Definition
IEdgeNamed.hpp:23
shamrock::solvergraph::IPatchDataLayerRefs
Definition
IPatchDataLayerRefs.hpp:29
Generated on Wed May 13 2026 13:21:49 for Shamrock by
1.9.8