]> git.tdb.fi Git - libs/gl.git/blob - source/error.h
Trigger Mesh::check_buffers from MeshBuilder destructor
[libs/gl.git] / source / error.h
1 #ifndef MSP_GL_ERROR_H_
2 #define MSP_GL_ERROR_H_
3
4 #include <stdexcept>
5
6 namespace Msp {
7 namespace GL {
8
9 class unsupported_extension: public std::runtime_error
10 {
11 public:
12         unsupported_extension(const std::string &w): std::runtime_error(w) { }
13         virtual ~unsupported_extension() throw() { }
14 };
15
16 class invalid_operation: public std::logic_error
17 {
18 public:
19         invalid_operation(const std::string &w): std::logic_error(w) { }
20         virtual ~invalid_operation() throw() { }
21 };
22
23 class stack_underflow: public std::logic_error
24 {
25 public:
26         stack_underflow(const std::string &w): std::logic_error(w) { }
27         virtual ~stack_underflow() throw() { }
28 };
29
30 class incompatible_data: public std::logic_error
31 {
32 public:
33         incompatible_data(const std::string &w): std::logic_error(w) { }
34         virtual ~incompatible_data() throw() { }
35 };
36
37 class compile_error: public std::runtime_error
38 {
39 public:
40         compile_error(const std::string &w): std::runtime_error(w) { }
41         virtual ~compile_error() throw() { }
42 };
43
44 class incomplete_uniform_block: public std::runtime_error
45 {
46 public:
47         incomplete_uniform_block(const std::string &w): std::runtime_error(w) { }
48         virtual ~incomplete_uniform_block() throw() { }
49 };
50
51 } // namespace GL
52 } // namespace Msp
53
54 #endif