SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Parallel::charmxx::RegisterInvokeIterableAction< ParallelComponent, Action, PhaseIndex, DataBoxIndex > Struct Template Reference

Derived class for registering the invoke_iterable_action entry method. This is a local entry method that is only used for tracing the code with Charm++'s Projections. More...

#include <CharmRegistration.hpp>

Public Types

using chare_type = typename ParallelComponent::chare_type
using charm_type
using cproxy = typename charm_type::cproxy
using ckindex = typename charm_type::ckindex
using algorithm = typename charm_type::algorithm

Public Member Functions

 RegisterInvokeIterableAction (const RegisterInvokeIterableAction &)=default
RegisterInvokeIterableActionoperator= (const RegisterInvokeIterableAction &)=default
 RegisterInvokeIterableAction (RegisterInvokeIterableAction &&)=default
RegisterInvokeIterableActionoperator= (RegisterInvokeIterableAction &&)=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 bool is_registering_chare () const

Static Public Attributes

static bool registrar

Detailed Description

template<typename ParallelComponent, typename Action, typename PhaseIndex, typename DataBoxIndex>
struct Parallel::charmxx::RegisterInvokeIterableAction< ParallelComponent, Action, PhaseIndex, DataBoxIndex >

Derived class for registering the invoke_iterable_action entry method. This is a local entry method that is only used for tracing the code with Charm++'s Projections.

Calls the appropriate Charm++ function to register the invoke_iterable_action function.

Member Typedef Documentation

◆ charm_type

template<typename ParallelComponent, typename Action, typename PhaseIndex, typename DataBoxIndex>
using Parallel::charmxx::RegisterInvokeIterableAction< ParallelComponent, Action, PhaseIndex, DataBoxIndex >::charm_type
Initial value:
charm_types_with_parameters<
ParallelComponent,
typename get_array_index<chare_type>::template f<ParallelComponent>>

Member Function Documentation

◆ name()

template<typename ParallelComponent, typename Action, typename PhaseIndex, typename DataBoxIndex>
std::string Parallel::charmxx::RegisterInvokeIterableAction< ParallelComponent, Action, PhaseIndex, DataBoxIndex >::name ( ) const
inlineoverridevirtual

◆ register_with_charm()

template<typename ParallelComponent, typename Action, typename PhaseIndex, typename DataBoxIndex>
void Parallel::charmxx::RegisterInvokeIterableAction< ParallelComponent, Action, PhaseIndex, DataBoxIndex >::register_with_charm ( ) const
inlineoverridevirtual

Member Data Documentation

◆ registrar

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

The documentation for this struct was generated from the following file:
  • src/Parallel/CharmRegistration.hpp