Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <array> 7 : #include <cstddef> 8 : #include <iosfwd> 9 : 10 : #include "Domain/Amr/Flag.hpp" 11 : #include "NumericalAlgorithms/Spectral/Mesh.hpp" 12 : 13 : /// \cond 14 : namespace PUP { 15 : class er; 16 : } // namespace PUP 17 : /// \endcond 18 : 19 : namespace amr { 20 : template <size_t VolumeDim> 21 0 : struct Info { 22 0 : std::array<Flag, VolumeDim> flags; 23 0 : Mesh<VolumeDim> new_mesh; 24 : 25 : /// Serialization for Charm++ 26 : // NOLINTNEXTLINE(google-runtime-references) 27 1 : void pup(PUP::er& p); 28 : }; 29 : 30 : /// Output operator for an Info. 31 : template <size_t VolumeDim> 32 1 : std::ostream& operator<<(std::ostream& os, const Info<VolumeDim>& info); 33 : 34 : template <size_t VolumeDim> 35 0 : bool operator==(const Info<VolumeDim>& lhs, const Info<VolumeDim>& rhs); 36 : 37 : template <size_t VolumeDim> 38 0 : bool operator!=(const Info<VolumeDim>& lhs, const Info<VolumeDim>& rhs); 39 : } // namespace amr