+++ /dev/null
-#ifndef STLPLUS_EXCEPTIONS\r
-#define STLPLUS_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
-// The set of general exceptions thrown by STLplus components\r
-\r
-////////////////////////////////////////////////////////////////////////////////\r
-#include "containers_fixes.hpp"\r
-#include <stdexcept>\r
-#include <string>\r
-\r
-namespace stlplus\r
-{\r
-\r
- ////////////////////////////////////////////////////////////////////////////////\r
- // Thrown if a pointer or an iterator is dereferenced when it is null\r
-\r
- class null_dereference : public std::logic_error\r
- {\r
- public:\r
- null_dereference(const std::string& description) throw() :\r
- std::logic_error(std::string("stlplus::null_dereference: ") + description) {}\r
- ~null_dereference(void) throw() {}\r
- };\r
-\r
- ////////////////////////////////////////////////////////////////////////////////\r
- // Thrown if an iterator is dereferenced when it is pointing to the end element\r
-\r
- class end_dereference : public std::logic_error\r
- {\r
- public:\r
- end_dereference(const std::string& description) throw() :\r
- std::logic_error("stlplus::end_dereference: " + description) {}\r
- ~end_dereference(void) throw() {}\r
- };\r
-\r
- ////////////////////////////////////////////////////////////////////////////////\r
- // Thrown if an iterator is used with the wrong container. In other words, an\r
- // iterator is created as a pointer to a sub-object within a container. If\r
- // that iterator is then used with a different container, this exception is\r
- // thrown.\r
-\r
- class wrong_object : public std::logic_error\r
- {\r
- public:\r
- wrong_object(const std::string& description) throw() :\r
- std::logic_error("stlplus::wrong_object: " + description) {}\r
- ~wrong_object(void) throw() {}\r
- };\r
-\r
- ////////////////////////////////////////////////////////////////////////////////\r
- // Thrown if an attempt is made to copy an object that is uncopyable\r
-\r
- class illegal_copy : public std::logic_error\r
- {\r
- public:\r
- illegal_copy(const std::string& description) throw() :\r
- std::logic_error("stlplus::illegal_copy: " + description) {}\r
- ~illegal_copy(void) throw() {}\r
- };\r
-\r
- ////////////////////////////////////////////////////////////////////////////////\r
-\r
-} // end namespace stlplus\r
-\r
-#endif\r