ARTS 2.5.11 (git: 725533f0)
WorkspaceMemoryHandler Class Reference

Handling of workspace memory. More...

#include <workspace_memory_handler.h>

Public Member Functions

 WorkspaceMemoryHandler ()
 
std::shared_ptr< void > allocate (Index group_index)
 Allocate workspace WSV of given group.
 
std::shared_ptr< void > duplicate (Index group_index, const std::shared_ptr< void > &ptr)
 Duplicate workspace variable of given group.
 
void initialize ()
 Initialization dispatch functions.
 

Detailed Description

Handling of workspace memory.

The WorkspaceMemoryHandler class is the interface between the workspace and the implementations of the WS group classes. It dispatches calls to create, destroy and duplicate workspace variables to the corresponding classes.

Definition at line 20 of file workspace_memory_handler.h.

Constructor & Destructor Documentation

◆ WorkspaceMemoryHandler()

WorkspaceMemoryHandler::WorkspaceMemoryHandler ( )
inline

Definition at line 22 of file workspace_memory_handler.h.

Member Function Documentation

◆ allocate()

std::shared_ptr< void > WorkspaceMemoryHandler::allocate ( Index  group_index)
inline

Allocate workspace WSV of given group.

Parameters
group_indexIndex of the group to allocate.
Returns
Void pointer to newly allocated group instance.

Definition at line 28 of file workspace_memory_handler.h.

Referenced by Workspace::duplicate(), and Workspace::emplace().

◆ duplicate()

std::shared_ptr< void > WorkspaceMemoryHandler::duplicate ( Index  group_index,
const std::shared_ptr< void > &  ptr 
)
inline

Duplicate workspace variable of given group.

Parameters
group_indexThe index of the group of the WSV.
Pointerto the WSV. WSV group with the given Index.

Definition at line 35 of file workspace_memory_handler.h.

Referenced by Workspace::deepcopy(), and Workspace::duplicate().

◆ initialize()

void WorkspaceMemoryHandler::initialize ( )

Initialization dispatch functions.

Definition at line 622 of file workspace_memory_handler.cc.

References allocate_wsvg_AbsorptionLines(), allocate_wsvg_Agenda(), allocate_wsvg_Any(), allocate_wsvg_ArrayOfAbsorptionLines(), allocate_wsvg_ArrayOfAgenda(), allocate_wsvg_ArrayOfArrayOfAbsorptionLines(), allocate_wsvg_ArrayOfArrayOfGriddedField1(), allocate_wsvg_ArrayOfArrayOfGriddedField2(), allocate_wsvg_ArrayOfArrayOfGriddedField3(), allocate_wsvg_ArrayOfArrayOfIndex(), allocate_wsvg_ArrayOfArrayOfMatrix(), allocate_wsvg_ArrayOfArrayOfPropagationMatrix(), allocate_wsvg_ArrayOfArrayOfRadiationVector(), allocate_wsvg_ArrayOfArrayOfScatteringMetaData(), allocate_wsvg_ArrayOfArrayOfSingleScatteringData(), allocate_wsvg_ArrayOfArrayOfSpeciesTag(), allocate_wsvg_ArrayOfArrayOfStokesVector(), allocate_wsvg_ArrayOfArrayOfString(), allocate_wsvg_ArrayOfArrayOfTensor3(), allocate_wsvg_ArrayOfArrayOfTensor6(), allocate_wsvg_ArrayOfArrayOfTime(), allocate_wsvg_ArrayOfArrayOfTransmissionMatrix(), allocate_wsvg_ArrayOfArrayOfVector(), allocate_wsvg_ArrayOfCIARecord(), allocate_wsvg_ArrayOfGriddedField1(), allocate_wsvg_ArrayOfGriddedField2(), allocate_wsvg_ArrayOfGriddedField3(), allocate_wsvg_ArrayOfGriddedField4(), allocate_wsvg_ArrayOfIndex(), allocate_wsvg_ArrayOfJacobianTarget(), allocate_wsvg_ArrayOfMatrix(), allocate_wsvg_ArrayOfPpath(), allocate_wsvg_ArrayOfPropagationMatrix(), allocate_wsvg_ArrayOfQuantumIdentifier(), allocate_wsvg_ArrayOfRadiationVector(), allocate_wsvg_ArrayOfRetrievalQuantity(), allocate_wsvg_ArrayOfScatteringMetaData(), allocate_wsvg_ArrayOfSingleScatteringData(), allocate_wsvg_ArrayOfSparse(), allocate_wsvg_ArrayOfSpeciesTag(), allocate_wsvg_ArrayOfStokesVector(), allocate_wsvg_ArrayOfString(), allocate_wsvg_ArrayOfSun(), allocate_wsvg_ArrayOfTelsemAtlas(), allocate_wsvg_ArrayOfTensor3(), allocate_wsvg_ArrayOfTensor4(), allocate_wsvg_ArrayOfTensor5(), allocate_wsvg_ArrayOfTensor6(), allocate_wsvg_ArrayOfTensor7(), allocate_wsvg_ArrayOfTime(), allocate_wsvg_ArrayOfTransmissionMatrix(), allocate_wsvg_ArrayOfVector(), allocate_wsvg_ArrayOfXsecRecord(), allocate_wsvg_CallbackFunction(), allocate_wsvg_CIARecord(), allocate_wsvg_CovarianceMatrix(), allocate_wsvg_EnergyLevelMap(), allocate_wsvg_GasAbsLookup(), allocate_wsvg_GriddedField1(), allocate_wsvg_GriddedField2(), allocate_wsvg_GriddedField3(), allocate_wsvg_GriddedField4(), allocate_wsvg_GriddedField5(), allocate_wsvg_GriddedField6(), allocate_wsvg_GridPos(), allocate_wsvg_HitranRelaxationMatrixData(), allocate_wsvg_Index(), allocate_wsvg_JacobianTarget(), allocate_wsvg_MapOfErrorCorrectedSuddenData(), allocate_wsvg_Matrix(), allocate_wsvg_MCAntenna(), allocate_wsvg_Numeric(), allocate_wsvg_Ppath(), allocate_wsvg_PredefinedModelData(), allocate_wsvg_PropagationMatrix(), allocate_wsvg_QuantumIdentifier(), allocate_wsvg_RadiationVector(), allocate_wsvg_Rational(), allocate_wsvg_ScatteringMetaData(), allocate_wsvg_SingleScatteringData(), allocate_wsvg_Sparse(), allocate_wsvg_SpeciesIsotopologueRatios(), allocate_wsvg_SpectralRadianceProfileOperator(), allocate_wsvg_StokesVector(), allocate_wsvg_String(), allocate_wsvg_TelsemAtlas(), allocate_wsvg_Tensor3(), allocate_wsvg_Tensor4(), allocate_wsvg_Tensor5(), allocate_wsvg_Tensor6(), allocate_wsvg_Tensor7(), allocate_wsvg_TessemNN(), allocate_wsvg_Time(), allocate_wsvg_Timer(), allocate_wsvg_TransmissionMatrix(), allocate_wsvg_Vector(), allocate_wsvg_Verbosity(), duplicate_wsvg_AbsorptionLines(), duplicate_wsvg_Agenda(), duplicate_wsvg_Any(), duplicate_wsvg_ArrayOfAbsorptionLines(), duplicate_wsvg_ArrayOfAgenda(), duplicate_wsvg_ArrayOfArrayOfAbsorptionLines(), duplicate_wsvg_ArrayOfArrayOfGriddedField1(), duplicate_wsvg_ArrayOfArrayOfGriddedField2(), duplicate_wsvg_ArrayOfArrayOfGriddedField3(), duplicate_wsvg_ArrayOfArrayOfIndex(), duplicate_wsvg_ArrayOfArrayOfMatrix(), duplicate_wsvg_ArrayOfArrayOfPropagationMatrix(), duplicate_wsvg_ArrayOfArrayOfRadiationVector(), duplicate_wsvg_ArrayOfArrayOfScatteringMetaData(), duplicate_wsvg_ArrayOfArrayOfSingleScatteringData(), duplicate_wsvg_ArrayOfArrayOfSpeciesTag(), duplicate_wsvg_ArrayOfArrayOfStokesVector(), duplicate_wsvg_ArrayOfArrayOfString(), duplicate_wsvg_ArrayOfArrayOfTensor3(), duplicate_wsvg_ArrayOfArrayOfTensor6(), duplicate_wsvg_ArrayOfArrayOfTime(), duplicate_wsvg_ArrayOfArrayOfTransmissionMatrix(), duplicate_wsvg_ArrayOfArrayOfVector(), duplicate_wsvg_ArrayOfCIARecord(), duplicate_wsvg_ArrayOfGriddedField1(), duplicate_wsvg_ArrayOfGriddedField2(), duplicate_wsvg_ArrayOfGriddedField3(), duplicate_wsvg_ArrayOfGriddedField4(), duplicate_wsvg_ArrayOfIndex(), duplicate_wsvg_ArrayOfJacobianTarget(), duplicate_wsvg_ArrayOfMatrix(), duplicate_wsvg_ArrayOfPpath(), duplicate_wsvg_ArrayOfPropagationMatrix(), duplicate_wsvg_ArrayOfQuantumIdentifier(), duplicate_wsvg_ArrayOfRadiationVector(), duplicate_wsvg_ArrayOfRetrievalQuantity(), duplicate_wsvg_ArrayOfScatteringMetaData(), duplicate_wsvg_ArrayOfSingleScatteringData(), duplicate_wsvg_ArrayOfSparse(), duplicate_wsvg_ArrayOfSpeciesTag(), duplicate_wsvg_ArrayOfStokesVector(), duplicate_wsvg_ArrayOfString(), duplicate_wsvg_ArrayOfSun(), duplicate_wsvg_ArrayOfTelsemAtlas(), duplicate_wsvg_ArrayOfTensor3(), duplicate_wsvg_ArrayOfTensor4(), duplicate_wsvg_ArrayOfTensor5(), duplicate_wsvg_ArrayOfTensor6(), duplicate_wsvg_ArrayOfTensor7(), duplicate_wsvg_ArrayOfTime(), duplicate_wsvg_ArrayOfTransmissionMatrix(), duplicate_wsvg_ArrayOfVector(), duplicate_wsvg_ArrayOfXsecRecord(), duplicate_wsvg_CallbackFunction(), duplicate_wsvg_CIARecord(), duplicate_wsvg_CovarianceMatrix(), duplicate_wsvg_EnergyLevelMap(), duplicate_wsvg_GasAbsLookup(), duplicate_wsvg_GriddedField1(), duplicate_wsvg_GriddedField2(), duplicate_wsvg_GriddedField3(), duplicate_wsvg_GriddedField4(), duplicate_wsvg_GriddedField5(), duplicate_wsvg_GriddedField6(), duplicate_wsvg_GridPos(), duplicate_wsvg_HitranRelaxationMatrixData(), duplicate_wsvg_Index(), duplicate_wsvg_JacobianTarget(), duplicate_wsvg_MapOfErrorCorrectedSuddenData(), duplicate_wsvg_Matrix(), duplicate_wsvg_MCAntenna(), duplicate_wsvg_Numeric(), duplicate_wsvg_Ppath(), duplicate_wsvg_PredefinedModelData(), duplicate_wsvg_PropagationMatrix(), duplicate_wsvg_QuantumIdentifier(), duplicate_wsvg_RadiationVector(), duplicate_wsvg_Rational(), duplicate_wsvg_ScatteringMetaData(), duplicate_wsvg_SingleScatteringData(), duplicate_wsvg_Sparse(), duplicate_wsvg_SpeciesIsotopologueRatios(), duplicate_wsvg_SpectralRadianceProfileOperator(), duplicate_wsvg_StokesVector(), duplicate_wsvg_String(), duplicate_wsvg_TelsemAtlas(), duplicate_wsvg_Tensor3(), duplicate_wsvg_Tensor4(), duplicate_wsvg_Tensor5(), duplicate_wsvg_Tensor6(), duplicate_wsvg_Tensor7(), duplicate_wsvg_TessemNN(), duplicate_wsvg_Time(), duplicate_wsvg_Timer(), duplicate_wsvg_TransmissionMatrix(), duplicate_wsvg_Vector(), and duplicate_wsvg_Verbosity().

Referenced by main().


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