From c6b69120aa98055ae8ec384a58302e0252def12d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Robert=20Kl=C3=B6fkorn?=
 <robertk@mathematik.uni-stuttgart.de>
Date: Fri, 18 Mar 2005 20:07:15 +0000
Subject: [PATCH] Added backup and restore for XDRStreams. does not work yet.

git-svn-id: https://dune.mathematik.uni-freiburg.de/svn/alugrid/trunk@118 0d966ed9-3843-0410-af09-ebfb50bd7c74
---
 src/gitter_hexa_top.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/src/gitter_hexa_top.h b/src/gitter_hexa_top.h
index da80ecb5d..c6e60fb9d 100644
--- a/src/gitter_hexa_top.h
+++ b/src/gitter_hexa_top.h
@@ -7,6 +7,9 @@
 
 /* $Id$
  * $Log$
+ * Revision 1.6  2005/03/18 20:07:15  robertk
+ * Added backup and restore for XDRStreams. does not work yet.
+ *
  * Revision 1.5  2005/01/19 18:26:24  robertk
  * removed warnings.
  *
@@ -87,6 +90,10 @@ template < class A > class Hedge1Top : public A {
   public :
     virtual void backup (ostream &) const ;
     virtual void restore (istream &) ;
+    
+    // new xdr methods 
+    virtual void backup (XDRstream_out &) const ;
+    virtual void restore (XDRstream_in &) ;
   public :
     virtual myrule_t getrule () const ;
     virtual void refineImmediate (myrule_t) ;
@@ -351,6 +358,22 @@ template < class A > void Hedge1Top < A > :: restore (istream & is) {
   {for (inneredge_t * d = down () ; d ; d = d->next ()) d->restore (is) ; }
   return ;
 }
+template < class A > void Hedge1Top < A > :: backup (XDRstream_out & os) const {
+  os.put ((char) getrule ()) ;
+  //myvertex(0)->backup( os );
+  //myvertex(1)->backup( os );
+  {for (const inneredge_t * d = down () ; d ; d = d->next ()) d->backup (os) ; }
+  return ;
+}
+
+template < class A > void Hedge1Top < A > :: restore (XDRstream_in & is) {
+  char r = (char) is.get () ;
+  //myvertex(0)->restore( is );
+  //myvertex(1)->restore( is );
+  refineImmediate (myrule_t (r)) ;
+  {for (inneredge_t * d = down () ; d ; d = d->next ()) d->restore (is) ; }
+  return ;
+}
 
 template < class A >  inline void Hedge1Top < A > :: append (inneredge_t * e) {
   assert (!_bbb && e) ; 
-- 
GitLab