SST  15.1.0
StructuralSimulationToolkit
SST::SSTHandlerBase< void, argT >::AttachPoint Class Referenceabstract

Attach Point to get notified when a handler starts and stops. More...

#include <ssthandler.h>

Public Member Functions

virtual uintptr_t registerHandler (const AttachPointMetaData &mdata)=0
 Function that will be called when a handler is registered with the tool implementing the attach point. More...
 
virtual void beforeHandler (uintptr_t key, std::conditional_t< std::is_pointer_v< argT >, const std::remove_pointer_t< argT > *, const argT &> arg)=0
 Function to be called before the handler is called. More...
 
virtual void afterHandler (uintptr_t key)=0
 Function to be called after the handler is called. More...
 
virtual void serializeHandlerAttachPointKey (SST::Core::Serialization::serializer &UNUSED(ser), uintptr_t &UNUSED(key))
 Function that will be called to handle the key returned from registerHandler, if the AttachPoint tool is serializable. More...
 

Detailed Description

template<typename argT>
class SST::SSTHandlerBase< void, argT >::AttachPoint

Attach Point to get notified when a handler starts and stops.

This class is used in conjuction with a Tool type base class to create various tool types to attach to the handler.

Member Function Documentation

◆ afterHandler()

template<typename argT >
virtual void SST::SSTHandlerBase< void, argT >::AttachPoint::afterHandler ( uintptr_t  key)
pure virtual

Function to be called after the handler is called.

The key passed in is the uintptr_t returned from registerHandler()

Parameters
keyuintptr_t returned from registerHandler() when handler was registered with the tool

◆ beforeHandler()

template<typename argT >
virtual void SST::SSTHandlerBase< void, argT >::AttachPoint::beforeHandler ( uintptr_t  key,
std::conditional_t< std::is_pointer_v< argT >, const std::remove_pointer_t< argT > *, const argT &>  arg 
)
pure virtual

Function to be called before the handler is called.

uintptr_t returned from registerHandler() when handler was registered with the tool

  • argument that will be passed to the handler function. If argT is a pointer, this will be passed as a const pointer, if not, it will be passed as a const reference

◆ registerHandler()

template<typename argT >
virtual uintptr_t SST::SSTHandlerBase< void, argT >::AttachPoint::registerHandler ( const AttachPointMetaData mdata)
pure virtual

Function that will be called when a handler is registered with the tool implementing the attach point.

The metadata passed in will be dependent on what type of tool this is attached to. The uintptr_t returned from this function will be passed into the beforeHandler() and afterHandler() functions.

Parameters
mdataMetadata to be passed into the tool
Returns
Opaque key that will be passed back into beforeHandler() and afterHandler() to identify the source of the calls

◆ serializeHandlerAttachPointKey()

template<typename argT >
virtual void SST::SSTHandlerBase< void, argT >::AttachPoint::serializeHandlerAttachPointKey ( SST::Core::Serialization::serializer UNUSEDser,
uintptr_t &  UNUSEDkey 
)
inlinevirtual

Function that will be called to handle the key returned from registerHandler, if the AttachPoint tool is serializable.

This is needed because the key is opaque to the Link, so it doesn't know how to handle it during serialization. During SIZE and PACK phases of serialization, the tool needs to store out any information that will be needed to recreate data that is reliant on the key. On UNPACK, the function needs to recreate any state and reinitialize the passed in key reference to the proper state to continue to make valid calls to beforeHandler() and afterHandler().

Since not all tools will be serializable, there is a default, empty implementation.

Parameters
serSerializer to use for serialization
keyKey that would be passed into the beforeHandler() and afterHandler() functions.

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