SpECTRE  v2024.04.12
Parallel::charmxx::RegistrationHelper Struct Referenceabstract

The base class used for automatic registration of entry methods. More...

#include <CharmRegistration.hpp>

Public Member Functions

 RegistrationHelper (const RegistrationHelper &)=default
 
RegistrationHelperoperator= (const RegistrationHelper &)=default
 
 RegistrationHelper (RegistrationHelper &&)=default
 
RegistrationHelperoperator= (RegistrationHelper &&)=default
 
virtual void register_with_charm () const =0
 
virtual std::string name () const =0
 
virtual bool is_registering_chare () const
 

Detailed Description

The base class used for automatic registration of entry methods.

Entry methods are automatically registered by building a list of the entry methods that need to be registered in the charm_register_list. All entry methods in the list are later registered in the register_parallel_components function, at which point the list is also deleted.

The reason for using an abstract base class mechanism is that we need to be able to register entry method templates. The derived classes keep track of the template parameters and override the register_with_charm function. The result is that there must be one derived class template for each entry method template, but since we only have a few entry method templates this is not an issue.


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