SpECTRE  v2024.03.19
Parallel::charmxx::RegisterThreadedAction< ParallelComponent, Action, Args > Struct Template Reference

Derived class for registering threaded actions. More...

#include <CharmRegistration.hpp>

Public Types

using chare_type = typename ParallelComponent::chare_type
 
using charm_type = charm_types_with_parameters< ParallelComponent, typename get_array_index< chare_type >::template f< ParallelComponent > >
 
using cproxy = typename charm_type::cproxy
 
using ckindex = typename charm_type::ckindex
 
using algorithm = typename charm_type::algorithm
 

Public Member Functions

 RegisterThreadedAction (const RegisterThreadedAction &)=default
 
RegisterThreadedActionoperator= (const RegisterThreadedAction &)=default
 
 RegisterThreadedAction (RegisterThreadedAction &&)=default
 
RegisterThreadedActionoperator= (RegisterThreadedAction &&)=default
 
void register_with_charm () const override
 
std::string name () const override
 
- Public Member Functions inherited from Parallel::charmxx::RegistrationHelper
 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
 

Static Public Attributes

static bool registrar
 

Detailed Description

template<typename ParallelComponent, typename Action, typename... Args>
struct Parallel::charmxx::RegisterThreadedAction< ParallelComponent, Action, Args >

Derived class for registering threaded actions.

Calls the appropriate Charm++ function to register a threaded action.

Member Function Documentation

◆ name()

template<typename ParallelComponent , typename Action , typename... Args>
std::string Parallel::charmxx::RegisterThreadedAction< ParallelComponent, Action, Args >::name ( ) const
inlineoverridevirtual

◆ register_with_charm()

template<typename ParallelComponent , typename Action , typename... Args>
void Parallel::charmxx::RegisterThreadedAction< ParallelComponent, Action, Args >::register_with_charm ( ) const
inlineoverridevirtual

Member Data Documentation

◆ registrar

template<typename ParallelComponent , typename Action >
bool Parallel::charmxx::RegisterThreadedAction< ParallelComponent, Action >::registrar
static
Initial value:
=
RegisterThreadedAction<ParallelComponent, Action, Args...>>()
bool register_func_with_charm()
Function that adds a pointer to a specific derived class to the charm_register_list
Definition: CharmRegistration.hpp:675

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