/[libvob]/libvob/src/util/Debug.cxx
ViewVC logotype

Diff of /libvob/src/util/Debug.cxx

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by tjl, Tue Mar 11 11:28:17 2003 UTC revision 1.2 by tjl, Wed Mar 12 15:13:41 2003 UTC
# Line 47  namespace Debug { Line 47  namespace Debug {
47      }      }
48    };    };
49    
50    std::map<std::string, IntPtr> vars;    typedef std::map<std::string, IntPtr> VarMap;
51    
52      static VarMap &vars() {
53          static VarMap v;
54          return v;
55      }
56    
57    int& var(const char *name) {    int& var(const char *name) {
58      return *(vars[name].ptr);      return *(vars()[name].ptr);
59    }    }
60        
61    int& extVar(const char *name, int *var) {    int& extVar(const char *name, int *var) {
62      if (vars.count(name) > 0) {      if (vars().count(name) > 0) {
63        std::cerr << "registerInt: " << name << " already defined: previous definition replaced, but value preserved\n";        std::cerr << "registerInt: " << name << " already defined: previous definition replaced, but value preserved\n";
64        IntPtr &prev = vars[name];        IntPtr &prev = vars()[name];
65        *var = *prev.ptr;        *var = *prev.ptr;
66        return *(prev.ptr = var);        return *(prev.ptr = var);
67      }      }
68      return *((vars[name] = IntPtr(var)).ptr);      return *((vars()[name] = IntPtr(var)).ptr);
69    }    }
70    
71    std::vector<const char *> getVarNames() {    std::vector<const char *> getVarNames() {
72      std::vector<const char *> v(vars.size());      std::vector<const char *> v(vars().size());
73      int i = 0;      int i = 0;
74      for (std::map<std::string, IntPtr>::iterator p = vars.begin();      for (std::map<std::string, IntPtr>::iterator p = vars().begin();
75           p != vars.end(); ++p) {           p != vars().end(); ++p) {
76        v[i++] = p->first.c_str();        v[i++] = p->first.c_str();
77      }      }
78      return v;      return v;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26