-#ifndef STLPLUS_PERSISTENT_EXCEPTIONS\r
-#define STLPLUS_PERSISTENT_EXCEPTIONS\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
-// Exceptions thrown by persistence routines\r
-\r
-////////////////////////////////////////////////////////////////////////////////\r
-#include "persistence_fixes.hpp"\r
-#include <stdexcept>\r
-#include <string>\r
-\r
-////////////////////////////////////////////////////////////////////////////////\r
-\r
-namespace stlplus\r
-{\r
-\r
- ////////////////////////////////////////////////////////////////////////////////\r
-\r
- // exception thrown if you try to dump or restore an illegal polymorphic type\r
- class persistent_illegal_type : public std::logic_error\r
- {\r
- public:\r
- persistent_illegal_type(const std::string& type) throw();\r
- persistent_illegal_type(unsigned key) throw();\r
- ~persistent_illegal_type(void) throw();\r
- };\r
-\r
- // exception thrown if a dump fails for any reason - but typically because the output stream couldn't take the data\r
- class persistent_dump_failed : public std::runtime_error\r
- {\r
- public:\r
- persistent_dump_failed(const std::string& message) throw();\r
- ~persistent_dump_failed(void) throw();\r
- };\r
-\r
- // exception thrown if you try to restore from an out of date or unrecognised byte stream\r
- class persistent_restore_failed : public std::runtime_error\r
- {\r
- public:\r
- persistent_restore_failed(const std::string& message) throw();\r
- ~persistent_restore_failed(void) throw();\r
- };\r
-\r
- ////////////////////////////////////////////////////////////////////////////////\r
-\r
-} // end namespace stlplus\r
-\r
-#endif\r