SpECTRE Documentation Coverage Report
Current view: top level - Elliptic/BoundaryConditions - Tags.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 25.0 % 12 3
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 <string>
       7              : 
       8              : #include "DataStructures/DataBox/PrefixHelpers.hpp"
       9              : #include "DataStructures/DataBox/Tag.hpp"
      10              : #include "DataStructures/DataBox/TagName.hpp"
      11              : #include "DataStructures/TaggedTuple.hpp"
      12              : #include "Elliptic/BoundaryConditions/BoundaryConditionType.hpp"
      13              : #include "Options/String.hpp"
      14              : 
      15              : namespace elliptic {
      16            1 : namespace OptionTags {
      17              : 
      18              : template <typename Tag>
      19            0 : struct BoundaryConditionType {
      20            0 :   static std::string name() { return db::tag_name<Tag>(); }
      21            0 :   using type = elliptic::BoundaryConditionType;
      22            0 :   static constexpr Options::String help =
      23              :       "Type of boundary conditions to impose on this variable";
      24              : };
      25              : 
      26              : }  // namespace OptionTags
      27              : 
      28            0 : namespace Tags {
      29              : 
      30              : /// The `elliptic::BoundaryConditionType` to impose on the variable represented
      31              : /// by `Tag`, e.g. Dirichlet or Neumann boundary conditions
      32              : template <typename Tag>
      33            1 : struct BoundaryConditionType : db::PrefixTag, db::SimpleTag {
      34            0 :   using type = elliptic::BoundaryConditionType;
      35            0 :   using tag = Tag;
      36              : };
      37              : 
      38              : /// The `elliptic::BoundaryConditionType` to impose on the variables represented
      39              : /// by `Tags`, e.g. Dirichlet or Neumann boundary conditions
      40              : template <typename Tags>
      41            1 : struct BoundaryConditionTypes : db::SimpleTag {
      42            0 :   using type = tuples::tagged_tuple_from_typelist<
      43              :       db::wrap_tags_in<elliptic::Tags::BoundaryConditionType, Tags>>;
      44              : };
      45              : 
      46              : }  // namespace Tags
      47              : }  // namespace elliptic
        

Generated by: LCOV version 2.0-1