--- /dev/null
+#ifndef STLPLUS_PERSISTENT\r
+#define STLPLUS_PERSISTENT\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+// Author: Andy Rushton\r
+// Copyright: (c) Southampton University 1999-2004\r
+// (c) Andy Rushton 2004-2009\r
+// License: BSD License, see ../docs/license.html\r
+\r
+// Interface class inherited by classes using the interface approach to polymorphism\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+#include "persistence_fixes.hpp"\r
+#include "persistent_exceptions.hpp"\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+namespace stlplus\r
+{\r
+\r
+ class dump_context;\r
+ class restore_context;\r
+\r
+ class persistent\r
+ {\r
+ public:\r
+ virtual void dump(dump_context&) const throw(persistent_dump_failed) = 0;\r
+ virtual void restore(restore_context&) throw(persistent_restore_failed) = 0;\r
+ virtual persistent* clone(void) const = 0;\r
+ virtual ~persistent(void) {}\r
+ };\r
+\r
+} // end namespace stlplus\r
+\r
+ ////////////////////////////////////////////////////////////////////////////////\r
+#endif\r