|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
#include "dx_ansi_colors.h"#include <stdexcept>#include <exception>#include <iomanip>#include <chrono>#include <mutex>#include <sstream>Classes | |
| class | dx::exception |
| a throw's whole diagnostic: the OS result, where it was raised (frame, file, line), the thread and the moment, a formatted comment and the exception it grew out of. Each frame on the way out wraps the one below into a new exception of its own - dx_catchall and friends do nothing else - so previous is the chain down to the origin, deep copied and owned by the wrapper; dx::trace::unfold prints it. The constructor overloads below are one signature per combination of the optional leading arguments (previous, function, error, what) ahead of the mandatory frame/file/line, with and without the printf-style comment. More... | |
Namespaces | |
| namespace | dx |
| dynax driver framework interface namespace | |
| namespace | dx::color |
| the SGR sequences, by their effect; dx::themed picks between two of them | |
| namespace | dx::fourchar |
| the four character codes of the OS audio APIs: to::string prints the printable bytes and the numeric value of the others, from::string packs four bytes back into the word | |
| namespace | dx::fourchar::to |
| namespace | dx::thread |
| thread | |
| namespace | dx::trace |
Macros | |
| #define | __dx_catchall(inject, ...) |
| #define | dx_catchall(inject, ...) |
| #define | dx_catchall_handler(object, inject, ...) |
| #define | dx_catchall_handler_or_rethrow(object, test, inject, ...) |
| #define | dx_catchall_rethrow(inject, ...) |
| #define | dx_pass(test, ...) |
| #define | dx_pass_discard dx_assert |
| #define | dx_pass_strict(test, ...) |
Functions | |
| void | dx::halt () |
| the breakpoint a dx_pass/dx_assert failure runs into - a debugger's stop is one uncommented line away | |
| std::string | dx::thread::name () |
| std::ostream & | dx::operator<< (std::ostream &os, const exception &exception) noexcept |
| std::string | dx::trace::pretty (std::string function) noexcept |
| a __PRETTY_FUNCTION__ without its template arguments - the frames of one template read alike then | |
| void | dx::report_uncaught () |
| prints an uncaught exception's actual diagnostic to stderr before the runtime terminates the process. Call once at startup - std::terminate() (an uncaught throw reaching main(), or escaping any std::thread's entry function) otherwise calls abort() with no diagnostic output at all. | |
| std::string | dx::fourchar::to::string (uint32_t fourchar) |
| void | dx::trace::unfold (std::ostream &os, const exception &exception, unsigned int indent=0) noexcept |
| the chain from the given exception down to its origin, each frame indented by two | |
Variables | |
| std::recursive_mutex | dx::io_mutex |
| the one lock every diagnostic sink takes, so a chain unfolded from one thread stays unbroken | |
| #define __dx_catchall | ( | inject, | |
| ... ) |
| #define dx_catchall | ( | inject, | |
| ... ) |
| #define dx_catchall_handler | ( | object, | |
| inject, | |||
| ... ) |
| #define dx_catchall_handler_or_rethrow | ( | object, | |
| test, | |||
| inject, | |||
| ... ) |
| #define dx_catchall_rethrow | ( | inject, | |
| ... ) |
| #define dx_pass | ( | test, | |
| ... ) |
| #define dx_pass_discard dx_assert |
| #define dx_pass_strict | ( | test, | |
| ... ) |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |