Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
shamrock::solvergraph::PatchDataLayerDDShared Class Reference

Shared distributed data layer for patch data management. More...

#include <shamrock/include/shamrock/solvergraph/PatchDataLayerDDShared.hpp>

+ Inheritance diagram for shamrock::solvergraph::PatchDataLayerDDShared:
+ Collaboration diagram for shamrock::solvergraph::PatchDataLayerDDShared:

Public Member Functions

virtual void free_alloc ()
 Free allocated resources.
 
 IEdgeNamed (std::string name, std::string texsymbol)
 Inherit constructors from IDataEdgeNamed.
 
- Public Member Functions inherited from shamrock::solvergraph::IEdgeNamed
 IEdgeNamed (std::string name, std::string texsymbol)
 
virtual std::string _impl_get_dot_label () const
 
virtual std::string _impl_get_tex_symbol () const
 
- Public Member Functions inherited from shamrock::solvergraph::IEdge
std::string get_label () const
 
std::string get_tex_symbol () const
 
- Public Member Functions inherited from shambase::WithUUID< IEdge, u64 >
u64 get_uuid () const
 Get the uuid of the class.
 
 WithUUID ()
 Constructor of the class.
 
- Public Member Functions inherited from shamrock::solvergraph::IFreeable
virtual ~IFreeable ()
 Virtual destructor.
 

Public Attributes

shambase::DistributedDataShared< patch::PatchDataLayerpatchdatas
 Shared distributed data containing patch data layers.
 

Additional Inherited Members

- Protected Attributes inherited from shambase::WithUUID< IEdge, u64 >
u64 uuid
 The unique identifier of the class.
 

Detailed Description

Shared distributed data layer for patch data management.

PatchDataLayerDDShared provides a shared distributed data interface for managing patch data layers within solver graph structures. It extends IDataEdgeNamed to provide named data edge functionality while maintaining shared patch data layers across distributed systems.

This class is particularly useful in scenarios where multiple solver components need access to the same patch data layer, ensuring efficient memory usage and data consistency across distributed computations.

// Create a shared distributed data layer
auto sharedLayer = std::make_unique<PatchDataLayerDDShared>("label","tex symbol");
// Access the shared patch data
auto& patchData = sharedLayer->patchdatas;
// Free allocated resources when done
sharedLayer->free_alloc();

Definition at line 56 of file PatchDataLayerDDShared.hpp.

Member Function Documentation

◆ free_alloc()

virtual void shamrock::solvergraph::PatchDataLayerDDShared::free_alloc ( )
inlinevirtual

Free allocated resources.

Implements shamrock::solvergraph::IFreeable.

Definition at line 73 of file PatchDataLayerDDShared.hpp.

◆ IEdgeNamed()

shamrock::solvergraph::IEdgeNamed::IEdgeNamed ( std::string  name,
std::string  texsymbol 
)
inline

Inherit constructors from IDataEdgeNamed.

Definition at line 28 of file IEdgeNamed.hpp.

Member Data Documentation

◆ patchdatas

shambase::DistributedDataShared<patch::PatchDataLayer> shamrock::solvergraph::PatchDataLayerDDShared::patchdatas

Shared distributed data containing patch data layers.

This member provides access to shared distributed data that contains patch data layers. The data is shared across multiple processes or computational nodes, allowing efficient access to patch information without unnecessary data duplication.

Definition at line 67 of file PatchDataLayerDDShared.hpp.


The documentation for this class was generated from the following file: