diff -r d2d747fe1db3 -r 468c9ec86928 src/work/peter/path/debug.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/work/peter/path/debug.h Tue Sep 07 13:55:35 2004 +0000 @@ -0,0 +1,56 @@ +// -*- C++ -*- // + +#ifndef HUGO_DEBUG_H +#define HUGO_DEBUG_H + +//! \file +//! \brief Basic definitions for debug control. + +namespace hugo { + + //! Debug mode for testing/debugging + + //! Use this debug mode if you want exhaustive range and consistency checks. + //! It also produces verbose debug messages. + struct DebugOn { + //! Example: check whether the edges added to a path are adjacent + static const bool consistensy_check = true; + + static const bool range_check = true; + + //! Examples: initialize maps with some value; + //! after deleting an item from UnionFindEnum set its value in the + //! corresponding map to NULL... + static const bool ensure_safe_state = true; + + static const int verbose = 5; + }; + + //! Debug mode for turning off debug aids. + + //! This debud mode switches off all range and consistency checks, + //! as well as the debug messages. + //! + struct DebugOff { + static const bool consistensy_check = false; + static const bool range_check = false; + static const bool ensure_safe_state = false; + static const int verbose = 0; + }; + +#ifdef DEBUG + //! The default debug mode. + + //! The default debug mode. + //! + typedef DebugOn DefaultDebugMode; +#else + //! The default debug mode. + + //! The default debug mode. + //! + typedef DebugOff DefaultDebugMode; +#endif + +} +#endif // HUGO_DEBUG_H