Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shamrock::solvergraph::INode Class Referenceabstract

Inode is node between data edges, takes multiple inputs, multiple outputs. More...

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

Inheritance diagram for shamrock::solvergraph::INode:
Collaboration diagram for shamrock::solvergraph::INode:

Public Member Functions

 INode (const INode &)=delete
INode & operator= (const INode &)=delete
 would violate shared_from_this() & unique UUID
 INode (INode &&) noexcept=default
 would violate shared_from_this() & unique UUID
INode & operator= (INode &&) noexcept=default
 Move assignment - automatically delegates to base classes and members.
std::shared_ptr< INode > getptr_shared ()
 Get a shared pointer to this node.
std::weak_ptr< INode > getptr_weak ()
 Get a weak pointer to this node.
std::vector< std::shared_ptr< IEdge > > & get_ro_edges ()
 Get the read only edges.
std::vector< std::shared_ptr< IEdge > > & get_rw_edges ()
 Get the read write edges.
void __internal_set_ro_edges (std::vector< std::shared_ptr< IEdge > > new_ro_edges)
 Set the read only edges.
void __internal_set_rw_edges (std::vector< std::shared_ptr< IEdge > > new_rw_edges)
 Set the read write edges.
template<class Func>
void on_edge_ro_edges (Func &&f)
 Apply a function to the read only edges.
template<class Func>
void on_edge_rw_edges (Func &&f)
 Apply a function to the read write edges.
virtual ~INode ()
 Destructor (virtual) & reset the edges.
template<class T>
const T & get_ro_edge (int slot)
 Get a read only edge and cast it to the type T.
template<class T>
T & get_rw_edge (int slot)
 Get a read write edge and cast it to the type T.
const IEdgeget_ro_edge_base (int slot)
 Get a reference to a read only edge.
const IEdgeget_ro_edge_base (int slot) const
IEdgeget_rw_edge_base (int slot)
 Get a reference to a read write edge and cast it to the type IEdge.
const IEdgeget_rw_edge_base (int slot) const
void evaluate ()
 Evaluate the node.
std::string get_dot_graph ()
 Get the dot graph of the node (Currently only an alias to get_dot_graph_partial).
std::string get_dot_graph_partial ()
 Get the dot graph of the subgraph corresponding to the node.
std::string get_dot_graph_node_start ()
 Get the id of the node start in the dot graph.
std::string get_dot_graph_node_end ()
 Get the id of the node end in the dot graph.
std::string get_tex ()
 Get the TeX of the node.
std::string get_tex_partial ()
 Get the TeX of the node partial.
virtual std::string print_node_info () const
 print the node info
Public Member Functions inherited from shambase::WithUUID< INode, u64 >
u64 get_uuid () const
 Get the uuid of the class.
 WithUUID ()
 Constructor of the class.

Protected Member Functions

virtual void _impl_evaluate_internal ()=0
 evaluate the node
virtual std::string _impl_get_label () const =0
 get the label of the node
virtual std::string _impl_get_dot_graph_partial () const
 get the dot graph of the node partial
virtual std::string _impl_get_dot_graph_node_start () const
 get the dot graph of the node start
virtual std::string _impl_get_dot_graph_node_end () const
 get the dot graph of the node end
virtual std::string _impl_get_tex () const =0
 get the tex of the node

Additional Inherited Members

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

Detailed Description

Inode is node between data edges, takes multiple inputs, multiple outputs.

Definition at line 29 of file INode.hpp.

Constructor & Destructor Documentation

◆ INode()

shamrock::solvergraph::INode::INode ( INode && )
defaultnoexcept

would violate shared_from_this() & unique UUID

Move constructor - automatically delegates to base classes and members

◆ ~INode()

virtual shamrock::solvergraph::INode::~INode ( )
inlinevirtual

Destructor (virtual) & reset the edges.

Definition at line 73 of file INode.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ __internal_set_ro_edges()

void shamrock::solvergraph::INode::__internal_set_ro_edges ( std::vector< std::shared_ptr< IEdge > > new_ro_edges)
inline

Set the read only edges.

Definition at line 171 of file INode.hpp.

◆ __internal_set_rw_edges()

void shamrock::solvergraph::INode::__internal_set_rw_edges ( std::vector< std::shared_ptr< IEdge > > new_rw_edges)
inline

Set the read write edges.

Definition at line 181 of file INode.hpp.

◆ _impl_evaluate_internal()

virtual void shamrock::solvergraph::INode::_impl_evaluate_internal ( )
protectedpure virtual

evaluate the node

Implemented in ComputeCFLCourant< Tscal >, ComputeCFLDivBCleaning< Tscal >, ComputeCFLForce< Tvec >, PatchDataLayerToVtk< Tvec, TgridVec >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::CGInit< Tvec, TgridVec >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, shammodels::basegodunov::modules::ExtractGhostLayer, shammodels::basegodunov::modules::FindBlockNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::FindGhostLayerCandidates< TgridVec >, shammodels::basegodunov::modules::FindGhostLayerIndices< TgridVec >, shammodels::basegodunov::modules::FuseGhostLayer, shammodels::basegodunov::modules::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForcePaczynskiWiita< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::sph::modules::ComputeDustTtilde< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, shammodels::sph::modules::GetParticlesOutsideSphere< Tvec >, shammodels::sph::modules::IterateSmoothingLengthDensity< Tvec, SPHKernel >, shammodels::sph::modules::IterateSmoothingLengthDensityNeighLim< Tvec, SPHKernel >, shammodels::sph::modules::KillParticles, shammodels::sph::modules::LoopSmoothingLengthIter< Tvec >, shammodels::sph::modules::MonoFluidTVIDeltav< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputePressureGrad< Tvec, SPHKernel >, shammodels::sph::modules::NodeEvolveDustCOALASourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVIAddSourceTerm< Tvec >, shammodels::sph::modules::NodeUpdateDerivsMonofluidTVI< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shammodels::sph::modules::SetDustStoppingTimeConstant< Tvec >, shammodels::sph::modules::SetDustStoppingTimeEpstein< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeSetEdge< Tedge >, shamrock::solvergraph::OperationSequence, and shamrock::solvergraph::ReplaceGhostField< T >.

◆ _impl_get_dot_graph_node_end()

std::string shamrock::solvergraph::INode::_impl_get_dot_graph_node_end ( ) const
inlineprotectedvirtual

get the dot graph of the node end

Reimplemented in shamrock::solvergraph::OperationSequence.

Definition at line 233 of file INode.hpp.

Here is the call graph for this function:

◆ _impl_get_dot_graph_node_start()

std::string shamrock::solvergraph::INode::_impl_get_dot_graph_node_start ( ) const
inlineprotectedvirtual

get the dot graph of the node start

Reimplemented in shamrock::solvergraph::OperationSequence.

Definition at line 230 of file INode.hpp.

Here is the call graph for this function:

◆ _impl_get_dot_graph_partial()

std::string shamrock::solvergraph::INode::_impl_get_dot_graph_partial ( ) const
inlineprotectedvirtual

get the dot graph of the node partial

Reimplemented in shamrock::solvergraph::OperationSequence.

Definition at line 205 of file INode.hpp.

Here is the call graph for this function:

◆ _impl_get_label()

virtual std::string shamrock::solvergraph::INode::_impl_get_label ( ) const
protectedpure virtual

get the label of the node

Implemented in ComputeCFLCourant< Tscal >, ComputeCFLDivBCleaning< Tscal >, ComputeCFLForce< Tvec >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, shammodels::basegodunov::modules::ExtractGhostLayer, shammodels::basegodunov::modules::FindBlockNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::FindGhostLayerCandidates< TgridVec >, shammodels::basegodunov::modules::FindGhostLayerIndices< TgridVec >, shammodels::basegodunov::modules::FuseGhostLayer, shammodels::basegodunov::modules::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForcePaczynskiWiita< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::sph::modules::ComputeDustTtilde< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, shammodels::sph::modules::GetParticlesOutsideSphere< Tvec >, shammodels::sph::modules::IterateSmoothingLengthDensity< Tvec, SPHKernel >, shammodels::sph::modules::IterateSmoothingLengthDensityNeighLim< Tvec, SPHKernel >, shammodels::sph::modules::KillParticles, shammodels::sph::modules::LoopSmoothingLengthIter< Tvec >, shammodels::sph::modules::MonoFluidTVIDeltav< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputePressureGrad< Tvec, SPHKernel >, shammodels::sph::modules::NodeEvolveDustCOALASourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVIAddSourceTerm< Tvec >, shammodels::sph::modules::NodeUpdateDerivsMonofluidTVI< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shammodels::sph::modules::SetDustStoppingTimeConstant< Tvec >, shammodels::sph::modules::SetDustStoppingTimeEpstein< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeSetEdge< Tedge >, and shamrock::solvergraph::OperationSequence.

◆ _impl_get_tex()

virtual std::string shamrock::solvergraph::INode::_impl_get_tex ( ) const
protectedpure virtual

get the tex of the node

Implemented in ComputeCFLCourant< Tscal >, ComputeCFLDivBCleaning< Tscal >, ComputeCFLForce< Tvec >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, shammodels::basegodunov::modules::ExtractGhostLayer, shammodels::basegodunov::modules::FindBlockNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::FindGhostLayerCandidates< TgridVec >, shammodels::basegodunov::modules::FindGhostLayerIndices< TgridVec >, shammodels::basegodunov::modules::FuseGhostLayer, shammodels::basegodunov::modules::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForcePaczynskiWiita< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::sph::modules::ComputeDustTtilde< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, shammodels::sph::modules::GetParticlesOutsideSphere< Tvec >, shammodels::sph::modules::IterateSmoothingLengthDensity< Tvec, SPHKernel >, shammodels::sph::modules::IterateSmoothingLengthDensityNeighLim< Tvec, SPHKernel >, shammodels::sph::modules::KillParticles, shammodels::sph::modules::LoopSmoothingLengthIter< Tvec >, shammodels::sph::modules::MonoFluidTVIDeltav< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputePressureGrad< Tvec, SPHKernel >, shammodels::sph::modules::NodeEvolveDustCOALASourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVIAddSourceTerm< Tvec >, shammodels::sph::modules::NodeUpdateDerivsMonofluidTVI< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shammodels::sph::modules::SetDustStoppingTimeConstant< Tvec >, shammodels::sph::modules::SetDustStoppingTimeEpstein< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeSetEdge< Tedge >, and shamrock::solvergraph::OperationSequence.

◆ evaluate()

void shamrock::solvergraph::INode::evaluate ( )
inline

Evaluate the node.

Definition at line 109 of file INode.hpp.

Here is the call graph for this function:

◆ get_dot_graph()

std::string shamrock::solvergraph::INode::get_dot_graph ( )
inline

Get the dot graph of the node (Currently only an alias to get_dot_graph_partial).

Definition at line 112 of file INode.hpp.

Here is the call graph for this function:

◆ get_dot_graph_node_end()

std::string shamrock::solvergraph::INode::get_dot_graph_node_end ( )
inline

Get the id of the node end in the dot graph.

Definition at line 120 of file INode.hpp.

Here is the call graph for this function:

◆ get_dot_graph_node_start()

std::string shamrock::solvergraph::INode::get_dot_graph_node_start ( )
inline

Get the id of the node start in the dot graph.

Definition at line 118 of file INode.hpp.

Here is the call graph for this function:

◆ get_dot_graph_partial()

std::string shamrock::solvergraph::INode::get_dot_graph_partial ( )
inline

Get the dot graph of the subgraph corresponding to the node.

Definition at line 115 of file INode.hpp.

Here is the call graph for this function:

◆ get_ro_edge()

template<class T>
const T & shamrock::solvergraph::INode::get_ro_edge ( int slot)
inline

Get a read only edge and cast it to the type T.

Definition at line 80 of file INode.hpp.

Here is the call graph for this function:

◆ get_ro_edge_base() [1/2]

const IEdge & shamrock::solvergraph::INode::get_ro_edge_base ( int slot)
inline

Get a reference to a read only edge.

Definition at line 91 of file INode.hpp.

Here is the call graph for this function:

◆ get_ro_edge_base() [2/2]

const IEdge & shamrock::solvergraph::INode::get_ro_edge_base ( int slot) const
inline

Definition at line 95 of file INode.hpp.

◆ get_ro_edges()

std::vector< std::shared_ptr< IEdge > > & shamrock::solvergraph::INode::get_ro_edges ( )
inline

Get the read only edges.

Definition at line 55 of file INode.hpp.

◆ get_rw_edge()

template<class T>
T & shamrock::solvergraph::INode::get_rw_edge ( int slot)
inline

Get a read write edge and cast it to the type T.

Definition at line 86 of file INode.hpp.

Here is the call graph for this function:

◆ get_rw_edge_base() [1/2]

IEdge & shamrock::solvergraph::INode::get_rw_edge_base ( int slot)
inline

Get a reference to a read write edge and cast it to the type IEdge.

Definition at line 100 of file INode.hpp.

Here is the call graph for this function:

◆ get_rw_edge_base() [2/2]

const IEdge & shamrock::solvergraph::INode::get_rw_edge_base ( int slot) const
inline

Definition at line 104 of file INode.hpp.

◆ get_rw_edges()

std::vector< std::shared_ptr< IEdge > > & shamrock::solvergraph::INode::get_rw_edges ( )
inline

Get the read write edges.

Definition at line 57 of file INode.hpp.

◆ get_tex()

std::string shamrock::solvergraph::INode::get_tex ( )
inline

Get the TeX of the node.

Definition at line 123 of file INode.hpp.

Here is the call graph for this function:

◆ get_tex_partial()

std::string shamrock::solvergraph::INode::get_tex_partial ( )
inline

Get the TeX of the node partial.

Definition at line 125 of file INode.hpp.

Here is the call graph for this function:

◆ getptr_shared()

std::shared_ptr< INode > shamrock::solvergraph::INode::getptr_shared ( )
inline

Get a shared pointer to this node.

Definition at line 50 of file INode.hpp.

Here is the call graph for this function:

◆ getptr_weak()

std::weak_ptr< INode > shamrock::solvergraph::INode::getptr_weak ( )
inline

Get a weak pointer to this node.

Definition at line 52 of file INode.hpp.

◆ on_edge_ro_edges()

template<class Func>
void shamrock::solvergraph::INode::on_edge_ro_edges ( Func && f)
inline

Apply a function to the read only edges.

Definition at line 192 of file INode.hpp.

Here is the call graph for this function:

◆ on_edge_rw_edges()

template<class Func>
void shamrock::solvergraph::INode::on_edge_rw_edges ( Func && f)
inline

Apply a function to the read write edges.

Definition at line 199 of file INode.hpp.

Here is the call graph for this function:

◆ print_node_info()

virtual std::string shamrock::solvergraph::INode::print_node_info ( ) const
inlinevirtual

print the node info

Definition at line 128 of file INode.hpp.

Here is the call graph for this function:

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