Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

error.h File Reference


Detailed Description

Definition in file error.h.

#include <exception>
#include <string>
#include <sstream>
#include <iostream>
#include <cstdlib>
#include <memory>

Include dependency graph for error.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  lemon

Defines

#define LEMON_ASSERT(exp, msg)
 Macro for assertions with customizable message.
#define LEMON_FIXME(msg)
 Macro for mark not yet implemented features.


Define Documentation

#define LEMON_ASSERT exp,
msg   ) 
 

Value:

(static_cast<void> (!!(exp) ? 0 : (         \
       LEMON_ASSERT_HANDLER(__FILE__, __LINE__,  \
                            __PRETTY_FUNCTION__, \
                            (msg), #exp, LEMON_ASSERT_ABORT), 0)))
Macro for assertions with customizable message.

The behaviour can be customized with LEMON_ASSERT_HANDLER, LEMON_ASSERT_EXCEPTION and LEMON_ASSERT_ABORT defines. Asserts can be disabled by defining either NDEBUG or LEMON_DISABLE_ASSERTS macros.

Todo:
We should provide some way to reset to the default behaviour, shouldn't we?

Todo:
This whole 'assert' business should be placed in a separate include file.

Todo:
__PRETTY_FUNCTION__ should be replaced by something compiler-independant, like BOOST_CURRENT_FUNCTION

Definition at line 397 of file error.h.

#define LEMON_FIXME msg   ) 
 

Value:

(LEMON_ASSERT_HANDLER(__FILE__, __LINE__, __PRETTY_FUNCTION__, \
                          "FIXME: " msg))
Todo:
Is this the right place for this? It should be used only in modules under development.

Todo:
__PRETTY_FUNCTION__ should be replaced by something compiler-independant, like BOOST_CURRENT_FUNCTION

Definition at line 415 of file error.h.


Generated on Mon Feb 21 15:02:24 2005 for LEMON by  doxygen 1.4.1