Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

Trace.h

00001 // See the file LICENSE in the some directory as this file for legal
00002 // notices about this software.
00003 #ifndef DEV_W3_ORG__2001_BLINDFOLD_SRC_TRACE_H
00004 #define DEV_W3_ORG__2001_BLINDFOLD_SRC_TRACE_H
00005 // $Id: Trace_8h-source.html,v 1.2 2001/10/10 20:40:58 sandro Exp $
00006 #include "config.h"
00007 #include <hash_map>    
00008 #include "EqStr.h"
00009 
00013 class Trace {
00014       
00015 public:
00016 
00017     // STANDARD MEMBER FUNCTIONS
00018     Trace();
00019     Trace(const Trace& other);
00020     const Trace& operator=(const Trace& other);
00021     bool operator==(const Trace& other) const;
00022     bool operator<(const Trace& other) const;
00023     size_t hash() const;
00024     friend std::ostream& operator<<(std::ostream& s, const Trace& me);
00025     std::ostream& print_to(std::ostream& stream) const; 
00026     ~Trace();       
00027 
00028     // OVERRIDES
00029 
00030     // CLASS-SPECIFIC PUBLIC INTERFACE
00031 
00032     static void set(const char* moduleName, bool on=true);
00033 
00034     static bool get(const char* moduleName);
00035 
00036 private:
00037 
00038     typedef std::hash_map<const char*, bool, std::hash<const char*>, EqStr> Map;
00039 
00040     static Map map;
00041 
00042 };     
00043 
00044 STANDARD_EXTERNAL(Trace)
00045 
00046 #endif  /* DEV_W3_ORG__2001_BLINDFOLD_SRC_TRACE_H */   // -*-C++-*-

Home to blindfold. This page generated via doxygen 1.2.11.1 Wed Oct 10 16:40:33 2001.