Xyst test code coverage report
Current view: top level - Inciter - PUPAMR.hpp (source / functions) Coverage Total Hit
Commit: 1fb74642dd9d7732b67f32dec2f2762e238d3fa7 Lines: 100.0 % 16 16
Test Date: 2025-08-13 22:46:33 Functions: 100.0 % 13 13
Legend: Lines:     hit not hit

            Line data    Source code
       1              : // *****************************************************************************
       2              : /*!
       3              :   \file      src/Inciter/PUPAMR.hpp
       4              :   \copyright 2012-2015 J. Bakosi,
       5              :              2016-2018 Los Alamos National Security, LLC.,
       6              :              2019-2021 Triad National Security, LLC.,
       7              :              2022-2025 J. Bakosi
       8              :              All rights reserved. See the LICENSE file for details.
       9              :   \brief     Charm++ Pack/UnPack utilities for AMR
      10              :   \details   This file contains some extensions to Charm++'s Pack/UnPack
      11              :     routines for use with AMR data structures.
      12              : */
      13              : // *****************************************************************************
      14              : #ifndef PUPAMR_h
      15              : #define PUPAMR_h
      16              : 
      17              : #include "Base/PUPUtil.hpp"
      18              : 
      19              : #include "AMR/edge_store.hpp"
      20              : #include "AMR/edge.hpp"
      21              : #include "AMR/marked_refinements_store.hpp"
      22              : #include "AMR/tet_store.hpp"
      23              : #include "AMR/mesh_adapter.hpp"
      24              : #include "AMR/node_store.hpp"
      25              : #include "AMR/node_connectivity.hpp"
      26              : #include "AMR/refinement.hpp"
      27              : #include "AMR/master_element_store.hpp"
      28              : #include "AMR/id_generator.hpp"
      29              : 
      30              : //! Extensions to Charm++'s Pack/Unpack routines
      31              : namespace PUP {
      32              : 
      33              : /** @name Charm++ pack/unpack serializer member functions for Refinement_State */
      34              : ///@{
      35              : //! Pack/Unpack Refinement_State
      36              : void pup( PUP::er &p, AMR::Refinement_State& s );
      37              : //! Pack/Unpack serialize operator|
      38              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      39              : //! \param[in,out] s Refinement_State object reference
      40      3930004 : inline void operator|( PUP::er& p, AMR::Refinement_State& s ) { pup(p,s); }
      41              : //@}
      42              : 
      43              : /** @name Charm++ pack/unpack serializer member functions for Edge_Refinement */
      44              : ///@{
      45              : //! Pack/Unpack Edge_Refinement
      46              : void pup( PUP::er &p, AMR::Edge_Refinement& e );
      47              : //! Pack/Unpack serialize operator|
      48              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      49              : //! \param[in,out] e Edge_Refinement object reference
      50      5883070 : inline void operator|( PUP::er& p, AMR::Edge_Refinement& e ) { pup(p,e); }
      51              : //@}
      52              : 
      53              : /** @name Charm++ pack/unpack serializer member functions for edge_store_t */
      54              : ///@{
      55              : //! Pack/Unpack edge_store_t
      56              : void pup( PUP::er &p, AMR::edge_store_t& e );
      57              : //! Pack/Unpack serialize operator|
      58              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      59              : //! \param[in,out] e edge_store_t object reference
      60        13616 : inline void operator|( PUP::er& p, AMR::edge_store_t& e ) { pup(p,e); }
      61              : //@}
      62              : 
      63              : /** @name Charm++ pack/unpack serializer member functions for edge_t */
      64              : ///@{
      65              : //! Pack/Unpack edge_t
      66              : void pup( PUP::er &p, AMR::edge_t& e );
      67              : //! Pack/Unpack serialize operator|
      68              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      69              : //! \param[in,out] e edge_t object reference
      70      5883070 : inline void operator|( PUP::er& p, AMR::edge_t& e ) { pup(p,e); }
      71              : //@}
      72              : 
      73              : /** @name Charm++ pack/unpack serializer member functions for marked_refinements_store_t */
      74              : ///@{
      75              : //! Pack/Unpack marked_refinements_store_t
      76              : //! \param[in] p Charm++'s pack/unpack object
      77              : //! \param[in,out] m marked_refinements_store_t object reference
      78              : template< class case_t >
      79        27232 : void pup( PUP::er &p, AMR::marked_refinements_store_t< case_t >& m ) {
      80        27232 :   p | m.data();
      81        27232 :   p | m.get_state_changed();
      82        27232 : }
      83              : //! Pack/Unpack serialize operator|
      84              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      85              : //! \param[in,out] m marked_refinements_store_t object reference
      86              : template< class case_t >
      87        27232 : inline void operator|( PUP::er& p, AMR::marked_refinements_store_t<case_t>& m )
      88        27232 : { pup(p,m); }
      89              : //@}
      90              : 
      91              : /** @name Charm++ pack/unpack serializer member functions for active_element_store_t */
      92              : ///@{
      93              : //! Pack/Unpack active_element_store_t
      94              : void pup( PUP::er &p, AMR::active_element_store_t& a );
      95              : //! Pack/Unpack serialize operator|
      96              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      97              : //! \param[in,out] a active_element_store_t object reference
      98              : inline void operator|( PUP::er& p, AMR::active_element_store_t& a )
      99              : { pup(p,a); }
     100              : //@}
     101              : 
     102              : /** @name Charm++ pack/unpack serializer member functions for master_element_store_t */
     103              : ///@{
     104              : //! Pack/Unpack master_element_store_t
     105              : void pup( PUP::er &p, AMR::master_element_store_t& m );
     106              : //! Pack/Unpack serialize operator|
     107              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     108              : //! \param[in,out] m master_element_store_t object reference
     109              : inline void operator|( PUP::er& p, AMR::master_element_store_t& m )
     110              : { pup(p,m); }
     111              : //@}
     112              : /** @name Charm++ pack/unpack serializer member functions for active_element_store_t */
     113              : 
     114              : ///@{
     115              : //! Pack/Unpack id_generator_t
     116              : void pup( PUP::er &p, AMR::id_generator_t& i );
     117              : //! Pack/Unpack serialize operator|
     118              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     119              : //! \param[in,out] i id_generator_t object reference
     120        13616 : inline void operator|( PUP::er& p, AMR::id_generator_t& i )
     121        13616 : { pup(p,i); }
     122              : //@}
     123              : 
     124              : /** @name Charm++ pack/unpack serializer member functions for tet_store_t */
     125              : ///@{
     126              : //! Pack/Unpack tet_store_t
     127              : void pup( PUP::er &p, AMR::tet_store_t& t );
     128              : //! Pack/Unpack serialize operator|
     129              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     130              : //! \param[in,out] t tet_store_t object reference
     131        13616 : inline void operator|( PUP::er& p, AMR::tet_store_t& t ) { pup(p,t); }
     132              : //@}
     133              : 
     134              : /** @name Charm++ pack/unpack serializer member functions for mesh_adapter_t */
     135              : ///@{
     136              : //! Pack/Unpack mesh_adapter_t
     137              : void pup( PUP::er &p, AMR::mesh_adapter_t& m );
     138              : //! Pack/Unpack serialize operator|
     139              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     140              : //! \param[in,out] m mesh_adapter_t object reference
     141        13616 : inline void operator|( PUP::er& p, AMR::mesh_adapter_t& m ) { pup(p,m); }
     142              : //@}
     143              : 
     144              : /** @name Charm++ pack/unpack serializer member functions for node_store_t */
     145              : ///@{
     146              : //! Pack/Unpack node_store_t
     147              : void pup( PUP::er &p, AMR::node_store_t& n );
     148              : //! Pack/Unpack serialize operator|
     149              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     150              : //! \param[in,out] n node_store_t object reference
     151              : inline void operator|( PUP::er& p, AMR::node_store_t& n ) { pup(p,n); }
     152              : //@}
     153              : 
     154              : /** @name Charm++ pack/unpack serializer member functions for node_connectivity_t */
     155              : ///@{
     156              : //! Pack/Unpack node_connectivity_t
     157              : void pup( PUP::er &p, AMR::node_connectivity_t& n );
     158              : //! Pack/Unpack serialize operator|
     159              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     160              : //! \param[in,out] n node_connectivity_t object reference
     161        13616 : inline void operator|( PUP::er& p, AMR::node_connectivity_t& n ) { pup(p,n); }
     162              : //@}
     163              : 
     164              : /** @name Charm++ pack/unpack serializer member functions for refinement_t */
     165              : ///@{
     166              : //! Pack/Unpack refinement_t
     167              : void pup( PUP::er &p, AMR::refinement_t& r );
     168              : //! Pack/Unpack serialize operator|
     169              : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     170              : //! \param[in,out] r refinement_t object reference
     171        13616 : inline void operator|( PUP::er& p, AMR::refinement_t& r ) { pup(p,r); }
     172              : //@}
     173              : 
     174              : } // PUP::
     175              : 
     176              : #endif // PUPAMR_h
        

Generated by: LCOV version 2.0-1