SpECTRE  2021.08.02
Parallel::MutableGlobalCache< Metavariables > Class Template Reference

A Charm++ chare that caches mutable data once per Charm++ core. More...

#include <GlobalCache.hpp>

Public Member Functions

 MutableGlobalCache (tuples::tagged_tuple_from_typelist< get_mutable_global_cache_tags< Metavariables > > mutable_global_cache) noexcept
 
 MutableGlobalCache (CkMigrateMessage *msg)
 
template<typename GlobalCacheTag >
auto get () const noexcept -> const GlobalCache_detail::type_for_get< GlobalCacheTag, Metavariables > &
 
template<typename GlobalCacheTag , typename Function , typename... Args>
void mutate (const std::tuple< Args... > &args) noexcept
 
template<typename GlobalCacheTag , typename Function >
bool mutable_cache_item_is_ready (const Function &function) noexcept
 
void pup (PUP::er &p) noexcept override
 

Detailed Description

template<typename Metavariables>
class Parallel::MutableGlobalCache< Metavariables >

A Charm++ chare that caches mutable data once per Charm++ core.

MutableGlobalCache is not intended to be visible to the end user; its interface is via the GlobalCache member functions mutable_cache_item_is_ready, mutate, and get. Accordingly, most documentation of MutableGlobalCache is provided in the relevant GlobalCache member functions.