BARE2D
BAREErrors.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 
6 /// PLEASE NOTE THAT IF MINGW BREAKS, THIS IS PROBABLY WHY
7 /**
8  * @brief De-mangles a typeid.name() return value
9  * @param mangled The mangled typeid.name() return value
10  * @return A demangled version of mangled.
11  */
12 extern std::string demangle(const char* mangled);
13 
14 namespace BARE2D {
15  /**
16  * @brief Represents a specific type of error that has occured.
17  */
18  enum class BAREError {
47  };
48 
49  enum class GLErrorSeverity { NOTIF, LOW, MED, HIGH, UNKNOWN };
50 
52 
53  /**
54  * @brief Returns the string representing/explaining the error that occurred.
55  * @param err The error enum, which a function returns.
56  * @return The representative string.
57  */
58  extern std::string getErrString(BAREError err);
59 
60  /**
61  * @brief Throws an error (fatal). Also calls displayErrors and exits the program.
62  * @param err The type of error to throw.
63  * @param message (Optional) The message to display along with the error.
64  */
65  extern void throwFatalError(BAREError err, std::string message = "");
66 
67  /**
68  * @brief Throws an error silently. Adds it to the pile.
69  * @param err The error to throw.
70  * @param message (Optional) The message to display along with the error.
71  */
72  extern void throwError(BAREError err, std::string message = "");
73 
74  /**
75  * @brief Displays the latest thrown errors (really just all the thrown errors) in the console.
76  */
77  extern void displayErrors();
78 
79  /**
80  * @brief Initializes the GL Debug Message Callback function, and enables debug output straight from OpenGL
81  */
83 
84  extern std::vector<BAREError> thrownErrors;
85 } // namespace BARE2D
BARE2D::BAREError::GLEW_FAILURE
@ GLEW_FAILURE
BARE2D::BAREError::XML_FAILURE
@ XML_FAILURE
BARE2D::getErrString
std::string getErrString(BAREError err)
Returns the string representing/explaining the error that occurred.
Definition: BAREErrors.cpp:134
BARE2D
Definition: App.cpp:13
BARE2D::BAREError::GLSL_PROGRAM_FAILURE
@ GLSL_PROGRAM_FAILURE
BARE2D::BAREError::SDL_MIXER_FLAC_FAILURE
@ SDL_MIXER_FLAC_FAILURE
BARE2D::BAREError::UNIFORM_NOT_FOUND
@ UNIFORM_NOT_FOUND
BARE2D::BAREError::SDL_MIXER_SOUND_FAILURE
@ SDL_MIXER_SOUND_FAILURE
BARE2D::BAREError::SHADER_COMPILE_FAILURE
@ SHADER_COMPILE_FAILURE
BARE2D::BAREError::GL_FAILURE_VERSION
@ GL_FAILURE_VERSION
BARE2D::BAREError::SDL_FAILURE
@ SDL_FAILURE
BARE2D::BAREError::SDL_MIXER_CLOSE_FAILURE
@ SDL_MIXER_CLOSE_FAILURE
BARE2D::BAREError::SDL_MIXER_OGG_FAILURE
@ SDL_MIXER_OGG_FAILURE
BARE2D::BAREError::DOUBLE_INIT
@ DOUBLE_INIT
BARE2D::GLErrorSeverity::UNKNOWN
@ UNKNOWN
BARE2D::BAREError::UNINITIALIZED_FUNCTION
@ UNINITIALIZED_FUNCTION
BARE2D::BAREError::VERTEX_SHADER_FAILURE
@ VERTEX_SHADER_FAILURE
BARE2D::GLErrorSeverity::MED
@ MED
BARE2D::BAREError
BAREError
Represents a specific type of error that has occured.
Definition: BAREErrors.hpp:18
BARE2D::throwError
void throwError(BAREError err, std::string message)
Throws an error silently. Adds it to the pile.
Definition: BAREErrors.cpp:190
BARE2D::BAREError::TEXTURE_FAILURE
@ TEXTURE_FAILURE
BARE2D::BAREError::OTHER_ERROR
@ OTHER_ERROR
BARE2D::thrownErrors
std::vector< BAREError > thrownErrors
Definition: BAREErrors.cpp:132
BARE2D::BAREError::NULL_PTR_ACCESS
@ NULL_PTR_ACCESS
BARE2D::BAREError::LUA_FAILURE
@ LUA_FAILURE
BARE2D::displayErrors
void displayErrors()
Displays the latest thrown errors (really just all the thrown errors) in the console.
Definition: BAREErrors.cpp:201
BARE2D::BAREError::FILE_FAILURE
@ FILE_FAILURE
BARE2D::GLErrorSeverity::NOTIF
@ NOTIF
BARE2D::BAREError::SDL_MIXER_MP3_FAILURE
@ SDL_MIXER_MP3_FAILURE
BARE2D::GLErrorSeverity::LOW
@ LOW
BARE2D::BAREError::LOGGER_FAILURE
@ LOGGER_FAILURE
BARE2D::BAREError::FRAGMENT_SHADER_FAILURE
@ FRAGMENT_SHADER_FAILURE
demangle
std::string demangle(const char *mangled)
PLEASE NOTE THAT IF MINGW BREAKS, THIS IS PROBABLY WHY.
Definition: BAREErrors.cpp:16
BARE2D::BAREError::SDL_MIXER_LOAD_FAILURE
@ SDL_MIXER_LOAD_FAILURE
BARE2D::BAREError::SHADER_LINK_FAILURE
@ SHADER_LINK_FAILURE
BARE2D::GLErrorSeverity
GLErrorSeverity
Definition: BAREErrors.hpp:49
BARE2D::BAREError::FBO_FAILURE
@ FBO_FAILURE
BARE2D::BAREError::SDL_MIXER_MOD_FAILURE
@ SDL_MIXER_MOD_FAILURE
BARE2D::GLErrorSeverity::HIGH
@ HIGH
BARE2D::BAREError::FONT_FAILURE
@ FONT_FAILURE
BARE2D::initGLErrorCallback
void initGLErrorCallback(GLErrorSeverity minSeverity)
Initializes the GL Debug Message Callback function, and enables debug output straight from OpenGL.
Definition: BAREErrors.cpp:211
BARE2D::throwFatalError
void throwFatalError(BAREError err, std::string message)
Throws an error (fatal). Also calls displayErrors and exits the program.
Definition: BAREErrors.cpp:178
BARE2D::BAREError::CACHE_FAILURE
@ CACHE_FAILURE
BARE2D::GLErrorMinSeverity
GLErrorSeverity GLErrorMinSeverity
Definition: BAREErrors.cpp:130