SpECTRE Documentation Coverage Report
Current view: top level - Parallel/Algorithms - AlgorithmArrayDeclarations.hpp Hit Total Coverage
Commit: 1f2210958b4f38fdc0400907ee7c6d5af5111418 Lines: 1 9 11.1 %
Date: 2025-12-05 05:03:31
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             : #include "Parallel/ArrayIndex.hpp"
       7             : 
       8             : #include "Parallel/Algorithms/AlgorithmArray.decl.h"
       9             : 
      10             : namespace Parallel {
      11           0 : namespace Algorithms {
      12             : 
      13             : /*!
      14             :  * \ingroup ParallelGroup
      15             :  * \brief A struct that stores the charm++ types relevant for a particular array
      16             :  * component
      17             :  *
      18             :  * \details The type traits are:
      19             :  * - `cproxy`: the charm++ proxy.
      20             :  *   See https://charm.readthedocs.io/en/latest/faq/manual.html#what-is-a-proxy
      21             :  * - `cbase`: the charm++ base class. See
      22             :  *   https://charm.readthedocs.io/en/latest/charm++/manual.html#chare-objects
      23             :  * - `algorithm_type`: the chare type (`AlgorithmArray`) for the array
      24             :  *   component.
      25             :  * - `ckindex`: A charm++ chare index object. Useful for obtaining entry
      26             :  *   method indices that are needed for creating callbacks. See
      27             :  *   https://charm.readthedocs.io/en/latest/charm++/manual.html#creating-a-ckcallback-object
      28             :  * - `cproxy_section`: The charm++ section proxy class. See
      29             :  *   https://charm.readthedocs.io/en/latest/charm++/manual.html?#sections-subsets-of-a-chare-array-group
      30             :  * - component_type: this object. Serves to allow checking the component type in
      31             :  *   both source code and the testing framework.
      32             :  */
      33           1 : struct Array {
      34             :   template <typename ParallelComponent,
      35             :             typename SpectreArrayIndex>
      36           0 :   using cproxy = CProxy_AlgorithmArray<ParallelComponent,
      37             :                                        SpectreArrayIndex>;
      38             : 
      39             :   template <typename ParallelComponent,
      40             :             typename SpectreArrayIndex>
      41           0 :   using cbase = CBase_AlgorithmArray<ParallelComponent,
      42             :                                      SpectreArrayIndex>;
      43             : 
      44             :   template <typename ParallelComponent,
      45             :             typename SpectreArrayIndex>
      46           0 :   using algorithm_type = AlgorithmArray<ParallelComponent,
      47             :                                         SpectreArrayIndex>;
      48             : 
      49             :   template <typename ParallelComponent,
      50             :             typename SpectreArrayIndex>
      51           0 :   using ckindex = CkIndex_AlgorithmArray<ParallelComponent,
      52             :                                          SpectreArrayIndex>;
      53             : 
      54             :   template <typename ParallelComponent, typename SpectreArrayIndex>
      55           0 :   using cproxy_section =
      56             :       CProxySection_AlgorithmArray<ParallelComponent, SpectreArrayIndex>;
      57             : 
      58           0 :   using component_type = Array;
      59             : };
      60             : }  // namespace Algorithms
      61             : }  // namespace Parallel

Generated by: LCOV version 1.14