SpECTRE Documentation Coverage Report
Current view: top level - Time - RecordTimeStepperData.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 16.7 % 6 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              : #include "DataStructures/DataBox/PrefixHelpers.hpp"
       7              : #include "DataStructures/DataBox/Prefixes.hpp"
       8              : #include "Utilities/TMPL.hpp"
       9              : #include "Utilities/TypeTraits/IsA.hpp"
      10              : 
      11              : /// \cond
      12              : class TimeStepId;
      13              : namespace Tags {
      14              : template <typename Tag>
      15              : struct HistoryEvolvedVariables;
      16              : struct TimeStepId;
      17              : }  // namespace Tags
      18              : namespace TimeSteppers {
      19              : template <typename Vars>
      20              : class History;
      21              : }  // namespace TimeSteppers
      22              : namespace gsl {
      23              : template <class T>
      24              : class not_null;
      25              : }  // namespace gsl
      26              : /// \endcond
      27              : 
      28              : /// \ingroup TimeGroup
      29              : /// Records the variables and their time derivatives in the time stepper
      30              : /// history.
      31              : /// @{
      32              : template <typename System,
      33              :           typename = tmpl::conditional_t<
      34              :               tt::is_a_v<tmpl::list, typename System::variables_tag>,
      35              :               typename System::variables_tag,
      36              :               tmpl::list<typename System::variables_tag>>>
      37            1 : struct RecordTimeStepperData;
      38              : 
      39              : template <typename System, typename... VariablesTags>
      40            0 : struct RecordTimeStepperData<System, tmpl::list<VariablesTags...>> {
      41            0 :   using return_tags =
      42              :       tmpl::list<Tags::HistoryEvolvedVariables<VariablesTags>...>;
      43            0 :   using argument_tags =
      44              :       tmpl::list<Tags::TimeStepId, VariablesTags...,
      45              :                  db::add_tag_prefix<Tags::dt, VariablesTags>...>;
      46              : 
      47            0 :   static void apply(
      48              :       const gsl::not_null<
      49              :           TimeSteppers::History<typename VariablesTags::type>*>... histories,
      50              :       const TimeStepId& time_step_id,
      51              :       const typename VariablesTags::type&... vars,
      52              :       const typename db::add_tag_prefix<Tags::dt,
      53              :                                         VariablesTags>::type&... dt_vars);
      54              : };
      55              : /// @}
        

Generated by: LCOV version 2.0-1