Chaste Release::3.1
Warnings Class Reference

#include <Warnings.hpp>

Collaboration diagram for Warnings:

List of all members.

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 WarningsInstance ()

Protected Member Functions

 Warnings ()

Private Types

typedef std::deque< std::pair
< std::string, std::string > > 
WarningsContainerType

Private Attributes

WarningsContainerType mWarningMessages

Static Private Attributes

static WarningsmpInstance = NULL

Detailed Description

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 54 of file Warnings.hpp.


Member Typedef Documentation

typedef std::deque<std::pair<std::string, std::string> > Warnings::WarningsContainerType [private]

Container type for warnings

Definition at line 61 of file Warnings.hpp.


Constructor & Destructor Documentation

Warnings::Warnings ( ) [protected]

Protected constructor. Use Instance() to access the Warnings singleton.

Definition at line 46 of file Warnings.cpp.

Referenced by Instance().


Member Function Documentation

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.

Parameters:
rMessagethe message
rFilenamewhich source file threw the exception
lineNumberwhich line number of the source file threw the exception
onlyOncewhether to only log the first warning thrown from this location

Definition at line 89 of file Warnings.cpp.

References mWarningMessages.

std::string Warnings::GetNextWarningMessage ( )

Remove and inspect a warning.

Definition at line 115 of file Warnings.cpp.

References EXCEPTION, and mWarningMessages.

unsigned Warnings::GetNumWarnings ( )

How many warnings are in the queue.

Definition at line 110 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 79 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 50 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.

Returns:
The message set when the exception was thrown including file and line number information
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 70 of file Warnings.cpp.

References mpInstance.


Member Data Documentation

Warnings * Warnings::mpInstance = NULL [static, private]

Pointer to the single instance. For use as singleton

Definition at line 58 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 63 of file Warnings.hpp.

Referenced by AddWarning(), GetNextWarningMessage(), GetNumWarnings(), and NoisyDestroy().


The documentation for this class was generated from the following files: