Don't use this class directly; use the GVX_ERR_CONTEXT() macro instead. More...
#include <rutz/error_context.h>
Public Member Functions | |
error_context () | |
Constructor (but use current() to get the current context). | |
~error_context () | |
Destructor. | |
bool | add_entry (const error_context_entry *e) |
Add an entry to the context stack. | |
void | remove_entry (const error_context_entry *e) |
Remove an entry from the context stack. | |
rutz::fstring | get_text () const |
get the text of all context entries, separated by newlines | |
template<class S > | |
void | prepend_to (S &str) const |
Prepend our message (if any) to the given string. | |
Static Public Member Functions | |
static const rutz::error_context & | current () |
Get the current thread-local error context object. |
Don't use this class directly; use the GVX_ERR_CONTEXT() macro instead.
Definition at line 46 of file error_context.h.
rutz::error_context::error_context | ( | ) |
Constructor (but use current() to get the current context).
Definition at line 92 of file error_context.cc.
rutz::error_context::~error_context | ( | ) |
Destructor.
Definition at line 94 of file error_context.cc.
bool rutz::error_context::add_entry | ( | const error_context_entry * | e | ) |
Add an entry to the context stack.
Definition at line 101 of file error_context.cc.
Referenced by rutz::error_context_entry::error_context_entry().
const rutz::error_context & rutz::error_context::current | ( | ) | [static] |
Get the current thread-local error context object.
Definition at line 96 of file error_context.cc.
rutz::fstring rutz::error_context::get_text | ( | ) | const |
get the text of all context entries, separated by newlines
Definition at line 112 of file error_context.cc.
Referenced by prepend_to().
void rutz::error_context::prepend_to | ( | S & | str | ) | const [inline] |
Prepend our message (if any) to the given string.
This function is a template that is designed to work with either std::string or rutz::fstring (but without naming std::string explicitly here, we can avoid needing to include the 50K lines of code from <string>).
Example usage:
std::string mymsg = "something bad happened"; rutz::error_context::current().prepend_to(mymsg);
Definition at line 81 of file error_context.h.
References rutz::fstring::c_str(), get_text(), and rutz::fstring::length().
void rutz::error_context::remove_entry | ( | const error_context_entry * | e | ) |
Remove an entry from the context stack.
Definition at line 106 of file error_context.cc.
Referenced by rutz::error_context_entry::~error_context_entry().