]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/stlplus/exceptions.hpp
initial working frustum culling implementation
[chaz/yoink] / src / Moof / stlplus / exceptions.hpp
diff --git a/src/Moof/stlplus/exceptions.hpp b/src/Moof/stlplus/exceptions.hpp
new file mode 100755 (executable)
index 0000000..3549ff4
--- /dev/null
@@ -0,0 +1,71 @@
+#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
This page took 0.019107 seconds and 4 git commands to generate.