SpECTRE Documentation Coverage Report
Current view: top level - Domain/BoundaryConditions - GetBoundaryConditionsBase.hpp Hit Total Coverage
Commit: 3c072f0ce967e2e56649d3fa12aa2a0e4fe2a42e Lines: 1 2 50.0 %
Date: 2024-04-23 20:50:18
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/TypeTraits/CreateHasTypeAlias.hpp"
       9             : 
      10             : namespace domain::BoundaryConditions {
      11             : CREATE_HAS_TYPE_ALIAS(boundary_conditions_base)
      12             : CREATE_HAS_TYPE_ALIAS_V(boundary_conditions_base)
      13             : 
      14             : namespace detail {
      15             : // used as passive error message
      16             : struct TheSystemHasNoBoundaryConditionsBaseTypeAlias {};
      17             : 
      18             : template <typename T, typename = std::void_t<>>
      19             : struct get_boundary_conditions_base {
      20             :   using type = TheSystemHasNoBoundaryConditionsBaseTypeAlias;
      21             : };
      22             : 
      23             : template <typename T>
      24             : struct get_boundary_conditions_base<
      25             :     T, std::void_t<typename T::boundary_conditions_base>> {
      26             :   using type = typename T::boundary_conditions_base;
      27             : };
      28             : }  // namespace detail
      29             : 
      30             : /// Returns `T::boundary_condition_base` or a placeholder class.
      31             : template <typename T>
      32           1 : using get_boundary_conditions_base =
      33             :     typename detail::get_boundary_conditions_base<T>::type;
      34             : }  // namespace domain::BoundaryConditions

Generated by: LCOV version 1.14