SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/ScalarAdvection/FiniteDifference - Reconstructor.hpp Hit Total Coverage
Commit: 12933c37c29592794b4d714547da3f7d3180e6a7 Lines: 1 12 8.3 %
Date: 2024-05-23 18:22: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 <cstddef>
       7             : #include <memory>
       8             : #include <pup.h>
       9             : 
      10             : #include "Utilities/Serialization/CharmPupable.hpp"
      11             : #include "Utilities/TMPL.hpp"
      12             : 
      13             : namespace ScalarAdvection::fd {
      14             : /// \cond
      15             : template <size_t Dim>
      16             : class AoWeno53;
      17             : template <size_t Dim>
      18             : class MonotonisedCentral;
      19             : /// \endcond
      20             : 
      21             : /*!
      22             :  * \brief The base class from which all reconstruction schemes must inherit
      23             :  */
      24             : template <size_t Dim>
      25           1 : class Reconstructor : public PUP::able {
      26             :  public:
      27           0 :   Reconstructor() = default;
      28           0 :   Reconstructor(const Reconstructor&) = default;
      29           0 :   Reconstructor& operator=(const Reconstructor&) = default;
      30           0 :   Reconstructor(Reconstructor&&) = default;
      31           0 :   Reconstructor& operator=(Reconstructor&&) = default;
      32           0 :   ~Reconstructor() override = default;
      33             : 
      34           0 :   void pup(PUP::er& p) override;
      35             : 
      36             :   /// \cond
      37             :   explicit Reconstructor(CkMigrateMessage* msg);
      38             :   WRAPPED_PUPable_abstract(Reconstructor<Dim>);  // NOLINT
      39             :   /// \endcond
      40             : 
      41           0 :   using creatable_classes = tmpl::list<AoWeno53<Dim>, MonotonisedCentral<Dim>>;
      42             : 
      43           0 :   virtual std::unique_ptr<Reconstructor<Dim>> get_clone() const = 0;
      44             : 
      45           0 :   virtual size_t ghost_zone_size() const = 0;
      46             : };
      47             : }  // namespace ScalarAdvection::fd

Generated by: LCOV version 1.14