resources.hpp functional memory string string_view vector serif/backend/mfem/discretization/resources.hpp serif/backend/mfem/mapping/domain_mapper.hpp serif/backend/mfem/geometry/deformation/inputs.hpp serif/backend/mfem/discretization/dof_map.hpp serif/utils/serialize/record.hpp src/include/serif/backend/mfem/serialize/discretization.hpp src/lib/serif/backend/mfem/serialize/resources.cpp serif::backend::mfem::serialize::SaveOptions serif::backend::mfem::serialize::ResourceWriter serif::backend::mfem::serialize::Resources serif serif::backend serif::backend::mfem serif::backend::mfem::serialize #pragmaonce #include<functional> #include<memory> #include<string> #include<string_view> #include<vector> #include"serif/backend/mfem/discretization/resources.hpp" #include"serif/backend/mfem/mapping/domain_mapper.hpp" #include"serif/backend/mfem/geometry/deformation/inputs.hpp" #include"serif/backend/mfem/discretization/dof_map.hpp" #include"serif/utils/serialize/record.hpp" namespaceserif::backend::mfem::serialize{ structSaveOptions{ boolembed_mesh{true}; }; usingMeshResolver=std::function<utils::serialize::Result<std::string>(std::string_view)>; usingdiscretization::backend::mfem::Resources; classResourceWriter{ public: explicitResourceWriter(SaveOptionsoptions={}); [[nodiscard]]std::uint64_tmesh(const::mfem::Mesh&value); [[nodiscard]]std::uint64_tspace(const::mfem::FiniteElementSpace&value); voidmapping(const::mfem::GridFunction&compactification,constserif::mapping::DomainMapper&mapper); [[nodiscard]]utils::serialize::Nodereference(constgeometry::deformation::backend::mfem::ReferenceDiscretization&value); [[nodiscard]]utils::serialize::Nodefinish()&&; private: [[nodiscard]]std::uint64_tcollection(const::mfem::FiniteElementCollection&value); SaveOptionsm_options; utils::serialize::Nodem_record; std::vector<const::mfem::Mesh*>m_meshes; std::vector<const::mfem::FiniteElementCollection*>m_collections; std::vector<const::mfem::FiniteElementSpace*>m_spaces; }; [[nodiscard]]utils::serialize::Result<Resources>restore_resources(constutils::serialize::Node&node,constMeshResolver&resolver={}); [[nodiscard]]utils::serialize::Result<geometry::deformation::backend::mfem::ReferenceDiscretization>restore_reference( constutils::serialize::Node&node,Resources&resources); [[nodiscard]]utils::serialize::Nodebinding_coordinates(constdiscretization::backend::mfem::DofMap&binding); [[nodiscard]]std::stringmesh_text(const::mfem::Mesh&mesh); }