diff --git a/libsrc/general/archive_base.hpp b/libsrc/general/archive_base.hpp index 7b48d9a0..9e74b0e5 100644 --- a/libsrc/general/archive_base.hpp +++ b/libsrc/general/archive_base.hpp @@ -67,11 +67,13 @@ namespace ngstd std::map ptr2nr; std::vector nr2ptr; + /* // necessary for msvc ??? Archive & operator& (string* & ps) { return operator& (ps); } + */ template Archive & operator& (T *& p) diff --git a/libsrc/meshing/meshtype.cpp b/libsrc/meshing/meshtype.cpp index e9ad5ac7..6aa708ea 100644 --- a/libsrc/meshing/meshtype.cpp +++ b/libsrc/meshing/meshtype.cpp @@ -147,6 +147,15 @@ namespace netgen return *this; } + + ngstd::Archive & Segment :: DoArchive (ngstd::Archive & ar) + { + return ar & pnums[0] & pnums[1] & pnums[2] + & edgenr & singedge_left & singedge_right + & si & cd2i & domin & domout & tlosurf + & surfnr1 & surfnr2 + & bcname; + } ostream & operator<<(ostream & s, const Segment & seg) @@ -2416,7 +2425,18 @@ namespace netgen else bcn = &default_bcname; } + + ngstd::Archive & FaceDescriptor :: DoArchive (ngstd::Archive & ar) + { + return ar & surfnr & domin & domout & tlosurf & bcprop + & surfcolour.X() & surfcolour.Y() & surfcolour.Z() + & bcname + & domin_singular & domout_singular ; + // don't need: firstelement + } + + ostream & operator<<(ostream & s, const FaceDescriptor & fd) { s << "surfnr = " << fd.SurfNr() diff --git a/libsrc/meshing/meshtype.hpp b/libsrc/meshing/meshtype.hpp index 46345e08..5fe1d8a6 100644 --- a/libsrc/meshing/meshtype.hpp +++ b/libsrc/meshing/meshtype.hpp @@ -1049,15 +1049,7 @@ namespace netgen #else int GetPartition () const { return 0; } #endif - ngstd::Archive & DoArchive (ngstd::Archive & ar) - { - return ar & pnums[0] & pnums[1] & pnums[2] - & edgenr & singedge_left & singedge_right - & si & cd2i & domin & domout & tlosurf - & surfnr1 & surfnr2 - & bcname; - } - + ngstd::Archive & DoArchive (ngstd::Archive & ar); }; inline ngstd::Archive & operator & (ngstd::Archive & archive, Segment & mp) @@ -1150,15 +1142,7 @@ namespace netgen // friend ostream & operator<<(ostream & s, const FaceDescriptor & fd); friend class Mesh; - ngstd::Archive & DoArchive (ngstd::Archive & ar) - { - return ar & surfnr & domin & domout & tlosurf & bcprop - & surfcolour.X() & surfcolour.Y() & surfcolour.Z() - & bcname - & domin_singular & domout_singular ; - // don't need: firstelement - } - + ngstd::Archive & DoArchive (ngstd::Archive & ar); }; inline ngstd::Archive & operator & (ngstd::Archive & archive, FaceDescriptor & mp)