From be5b376612b439ad7b337b033270febae772005b Mon Sep 17 00:00:00 2001 From: Benjamin Bihler Date: Mon, 19 Oct 2020 11:09:13 +0200 Subject: [PATCH] 0031862: [REGRESSION] Coding - Flags of output stream are modified Added RAII class to restore stream flags after dump. --- src/AppDef/AppDef_Variational.cxx | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/AppDef/AppDef_Variational.cxx b/src/AppDef/AppDef_Variational.cxx index 25b86f3d75..39089f7812 100644 --- a/src/AppDef/AppDef_Variational.cxx +++ b/src/AppDef/AppDef_Variational.cxx @@ -897,6 +897,31 @@ Standard_Integer AppDef_Variational::NbIterations() const // void AppDef_Variational::Dump(Standard_OStream& o) const { + class StreamFlagRestorer + { + public: + + explicit StreamFlagRestorer(std::ostream& stream) : + stream(stream), flags(stream.flags()) + { + } + + ~StreamFlagRestorer() + { + stream.flags(flags); + } + + StreamFlagRestorer(const StreamFlagRestorer& rhs) = delete; + StreamFlagRestorer& operator=(const StreamFlagRestorer& rhs) = delete; + + private: + + std::ostream& stream; + std::ios::fmtflags flags; + }; + + StreamFlagRestorer restorer(o); + o << " \nVariational Smoothing " << std::endl; o << " Number of multipoints " << myNbPoints << std::endl; o << " Number of 2d par multipoint " << myNbP2d << std::endl; @@ -923,7 +948,7 @@ void AppDef_Variational::Dump(Standard_OStream& o) const else { if (myIsOverConstr) o << "The probleme is overconstraint " << std::endl; else o << " Erreur dans l''approximation" << std::endl; - } + } } // //======================================================================= -- 2.39.5