src/work/klao/debug.h
changeset 522 a0ed1fa1b800
child 619 e09818232531
equal deleted inserted replaced
-1:000000000000 0:f4b97b40db2e
       
     1 // -*- C++ -*- //
       
     2 
       
     3 #ifndef HUGO_DEBUG_H
       
     4 #define HUGO_DEBUG_H
       
     5 
       
     6 //! \file
       
     7 //! \brief Basic definitions for debug control.
       
     8 
       
     9 namespace hugo {
       
    10 
       
    11   struct DebugOn {
       
    12     //! Example: check whether the edges added to a path are adjacent
       
    13     static const bool consistensy_check = true;
       
    14 
       
    15     static const bool range_check = true;
       
    16 
       
    17     //! Examples: initialize maps with some value;
       
    18     //! after deleting an item from UnionFindEnum set its value in the
       
    19     //! corresponding map to NULL...
       
    20     static const bool ensure_safe_state = true;
       
    21   };
       
    22 
       
    23   struct DebugOff {
       
    24     static const bool consistensy_check = false;
       
    25     static const bool range_check = false;
       
    26     static const bool ensure_safe_state = false;
       
    27   };
       
    28 
       
    29 #ifdef DEBUG
       
    30   typedef DebugOn DefaultDebugMode;
       
    31 #else
       
    32   typedef DebugOff DefaultDebugMode;
       
    33 #endif
       
    34 
       
    35 }
       
    36 #endif // HUGO_DEBUG_H