klao@493: // -*- C++ -*- // klao@493: klao@493: #ifndef HUGO_DEBUG_H klao@493: #define HUGO_DEBUG_H klao@493: klao@493: //! \file klao@493: //! \brief Basic definitions for debug control. klao@493: klao@493: namespace hugo { klao@493: klao@493: struct DebugOn { klao@493: //! Example: check whether the edges added to a path are adjacent klao@493: static const bool consistensy_check = true; klao@493: klao@493: static const bool range_check = true; klao@493: klao@493: //! Examples: initialize maps with some value; klao@493: //! after deleting an item from UnionFindEnum set its value in the klao@493: //! corresponding map to NULL... klao@493: static const bool ensure_safe_state = true; klao@493: }; klao@493: klao@493: struct DebugOff { klao@493: static const bool consistensy_check = false; klao@493: static const bool range_check = false; klao@493: static const bool ensure_safe_state = false; klao@493: }; klao@493: klao@493: #ifdef DEBUG klao@493: typedef DebugOn DefaultDebugMode; klao@493: #else klao@493: typedef DebugOff DefaultDebugMode; klao@493: #endif klao@493: klao@493: } klao@493: #endif // HUGO_DEBUG_H