1 #ifndef MSP_GL_SL_ERROR_H_
2 #define MSP_GL_SL_ERROR_H_
5 #include <msp/strings/format.h>
13 class invalid_shader_source: public std::runtime_error
16 invalid_shader_source(const Location &, const std::string &);
17 #if __cplusplus>=201103L
18 template<typename... Args>
19 invalid_shader_source(const Location &loc, const std::string & fmt, Args... args):
20 invalid_shader_source(loc, format(fmt, args...))
23 virtual ~invalid_shader_source() throw() { }
26 class syntax_error: public invalid_shader_source
29 syntax_error(const Location &, const std::string &, const std::string &);
30 virtual ~syntax_error() throw() { }
33 class parse_error: public invalid_shader_source
36 parse_error(const Location &, const std::string &, const std::string &);
37 virtual ~parse_error() throw() { }
40 class unsupported_shader: public std::runtime_error
43 unsupported_shader(const std::string &w): runtime_error(w) { }
44 virtual ~unsupported_shader() throw() { }