SpECTRE Documentation Coverage Report
Current view: top level - ControlSystem/Measurements - NonFactoryCreatable.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 25.0 % 4 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 <pup.h>
       7              : 
       8              : #include "Utilities/Serialization/CharmPupable.hpp"
       9              : 
      10              : /*!
      11              :  * \brief Simple struct that changes a class from being factory creatable, to
      12              :  * non-factory creatable.
      13              :  *
      14              :  * It does this by defining and setting a static constexpr bool
      15              :  * `factory_creatable = false`.
      16              :  *
      17              :  * \tparam FactoryCreatableClass Any class that is already factory creatable.
      18              :  */
      19              : template <typename FactoryCreatableClass>
      20            1 : struct NonFactoryCreatableWrapper : public FactoryCreatableClass {
      21            0 :   static constexpr bool factory_creatable = false;
      22              :   using FactoryCreatableClass::FactoryCreatableClass;
      23              : 
      24            0 :   using factory_creatable_class = FactoryCreatableClass;
      25              : 
      26              :   /// \cond
      27              :   explicit NonFactoryCreatableWrapper(CkMigrateMessage* /*unused*/) {}
      28              :   using PUP::able::register_constructor;
      29              :   WRAPPED_PUPable_decl_template(NonFactoryCreatableWrapper);  // NOLINT
      30              :   /// \endcond
      31              : };
      32              : 
      33              : /// \cond
      34              : // NOLINTBEGIN
      35              : template <typename FactoryCreatableClass>
      36              : PUP::able::PUP_ID NonFactoryCreatableWrapper<FactoryCreatableClass>::my_PUP_ID =
      37              :     0;
      38              : // NOLINTEND
      39              : /// \endcond
        

Generated by: LCOV version 2.0-1