SpECTRE Documentation Coverage Report
Current view: top level - Elliptic/Systems - GetModifyBoundaryData.hpp Hit Total Coverage
Commit: 2068747df712b64688243d3254666212942d85f2 Lines: 1 4 25.0 %
Date: 2026-05-22 23:35:16
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 <type_traits>
       7             : 
       8             : #include "Utilities/TMPL.hpp"
       9             : 
      10             : namespace elliptic {
      11             : namespace detail {
      12             : struct NoModifyBoundaryData {
      13             :   using argument_tags = tmpl::list<>;
      14             :   using argument_tags_linearized = tmpl::list<>;
      15             :   using const_global_cache_tags = tmpl::list<>;
      16             : };
      17             : }  // namespace detail
      18             : 
      19             : /// The `argument_tags` of the `System::modify_boundary_data`, or an empty list
      20             : /// if `System::modify_boundary_data` is `void`.
      21             : template <typename System>
      22           1 : using get_modify_boundary_data = tmpl::conditional_t<
      23             :     std::is_same_v<typename System::modify_boundary_data, void>,
      24             :     detail::NoModifyBoundaryData, typename System::modify_boundary_data>;
      25             : 
      26             : template <typename System, bool Linearized>
      27           0 : using get_modify_boundary_data_args_tags = tmpl::conditional_t<
      28             :     Linearized,
      29             :     typename get_modify_boundary_data<System>::argument_tags_linearized,
      30             :     typename get_modify_boundary_data<System>::argument_tags>;
      31             : 
      32             : template <typename System, bool Linearized>
      33           0 : using get_modify_boundary_data_const_global_cache_tags =
      34             :     typename get_modify_boundary_data<System>::const_global_cache_tags;
      35             : 
      36             : }  // namespace elliptic

Generated by: LCOV version 1.14