SpECTRE Documentation Coverage Report
Current view: top level - Parallel/Protocols - ElementRegistrar.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 33.3 % 3 1
Test Date: 2026-10-22 17:29:42
Legend: Lines:     hit not hit

            Line data    Source code
       1            0 : // Distributed under the MIT License.
       2              : // See LICENSE.txt for details.
       3              : 
       4              : #pragma once
       5              : 
       6              : namespace Parallel::protocols {
       7              : /*!
       8              :  * \brief Conforming types register and deregister array elements with other
       9              :  * parallel components
      10              :  *
      11              :  * For example, array elements may have to register and deregister with
      12              :  * interpolators or observers when the elements get created and destroyed during
      13              :  * AMR or migrated during load balancing. They may do so by sending messages to
      14              :  * the parallel components that notify of the creation and destruction of the
      15              :  * array elements.
      16              :  *
      17              :  * Conforming classes have the following static member functions:
      18              :  *
      19              :  * ```cpp
      20              :  * static void perform_registration<ParallelComponent>(const
      21              :  *   db::DataBox<DbTagList>& box, Parallel::GlobalCache<Metavariables>& cache,
      22              :  *   const ArrayIndex& array_index)
      23              :  *
      24              :  * static void perform_deregistration<ParallelComponent>(const
      25              :  *   db::DataBox<DbTagList>& box, Parallel::GlobalCache<Metavariables>& cache,
      26              :  *   const ArrayIndex& array_index)
      27              :  * ```
      28              :  *
      29              :  * Here is an example implementation of this protocol:
      30              :  *
      31              :  * \snippet RegistrationHelpers.hpp element_registrar_example
      32              :  */
      33            1 : struct ElementRegistrar {
      34              :   template <typename ConformingType>
      35            0 :   struct test {};
      36              : };
      37              : }  // namespace Parallel::protocols
        

Generated by: LCOV version 2.0-1