#include <Warnings.hpp>
Public Member Functions | |
void | AddWarning (const std::string &rMessage, const std::string &rFilename, unsigned lineNumber, bool onlyOnce=false) |
std::string | PopWarning () const |
unsigned | GetNumWarnings () |
std::string | GetNextWarningMessage () |
Static Public Member Functions | |
static void | NoisyDestroy () |
static void | QuietDestroy () |
static Warnings * | Instance () |
Protected Member Functions | |
Warnings () | |
Private Types | |
typedef std::deque< std::pair < std::string, std::string > > | WarningsContainerType |
Private Attributes | |
WarningsContainerType | mWarningMessages |
Static Private Attributes | |
static Warnings * | mpInstance = NULL |
The Warnings singleton class collects warnings via the AddWarning() method or the WARNING macro. This is to provide a mechanism for informing the user of error which are less severe than those demanding exceptions or assertions. (Errors which can be repaired immediately.)
Warnings can be polled with GetNumWarnings() and GetNextWarningMessage(). Warnings can be ignored and destroyed with QuietDestroy(). All warnings left at the close of the test suite (not the individual test), or the close of the executable, will be printed to the screen.
Definition at line 47 of file Warnings.hpp.
typedef std::deque<std::pair<std::string, std::string> > Warnings::WarningsContainerType [private] |
Container type for warnings
Definition at line 54 of file Warnings.hpp.
Warnings::Warnings | ( | ) | [protected] |
Protected constructor. Use Instance() to access the Warnings singleton.
Definition at line 39 of file Warnings.cpp.
Referenced by Instance().
void Warnings::AddWarning | ( | const std::string & | rMessage, | |
const std::string & | rFilename, | |||
unsigned | lineNumber, | |||
bool | onlyOnce = false | |||
) |
Make a warning with a message string and add it to the list.
rMessage | the message | |
rFilename | which source file threw the exception | |
lineNumber | which line number of the source file threw the exception | |
onlyOnce | whether to only log the first warning thrown from this location |
Definition at line 82 of file Warnings.cpp.
References mWarningMessages.
std::string Warnings::GetNextWarningMessage | ( | ) |
Remove and inspect a warning.
Definition at line 108 of file Warnings.cpp.
References EXCEPTION, and mWarningMessages.
unsigned Warnings::GetNumWarnings | ( | ) |
How many warnings are in the queue.
Definition at line 103 of file Warnings.cpp.
References mWarningMessages.
Warnings * Warnings::Instance | ( | ) | [static] |
Return a pointer to the Warnings object. The object is created the first time this method is called.
Definition at line 72 of file Warnings.cpp.
References mpInstance, NoisyDestroy(), and Warnings().
void Warnings::NoisyDestroy | ( | void | ) | [static] |
Default destroyer (takes the place of a destructor, using the std::atexit directive). Prints all warning messages to stdout.
Definition at line 43 of file Warnings.cpp.
References mpInstance, and mWarningMessages.
Referenced by Instance().
std::string Warnings::PopWarning | ( | ) | const |
Get the message associated with the exception with file and line number.
void Warnings::QuietDestroy | ( | void | ) | [static] |
Public destroyer (takes the place of a destructor but is called by the user to make sure that no warnings appear).
Definition at line 63 of file Warnings.cpp.
References mpInstance.
Warnings * Warnings::mpInstance = NULL [static, private] |
Pointer to the single instance. For use as singleton
Definition at line 51 of file Warnings.hpp.
Referenced by Instance(), NoisyDestroy(), and QuietDestroy().
Warnings messages. First in pair is the context (line number etc.). Second in pair is the actual warning,
Definition at line 56 of file Warnings.hpp.
Referenced by AddWarning(), GetNextWarningMessage(), GetNumWarnings(), and NoisyDestroy().