The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

u/var: Put in a namespace and add some documentation

+35 -19
+35 -19
src/xrt/auxiliary/util/u_var.cpp
··· 1 - // Copyright 2019, Collabora, Ltd. 1 + // Copyright 2019-2022, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 /*! 4 4 * @file ··· 19 19 #include <unordered_map> 20 20 21 21 22 + namespace xrt::auxiliary::util { 23 + 24 + 22 25 /* 23 26 * 24 27 * Enums, Classes and Defines. 25 28 * 26 29 */ 27 30 28 - 31 + /*! 32 + * Simple container for the variable information. 33 + */ 29 34 class Var 30 35 { 31 36 public: 32 37 struct u_var_info info = {}; 33 38 }; 34 39 40 + /*! 41 + * Object that has a series of tracked variables. 42 + */ 35 43 class Obj 36 44 { 37 45 public: ··· 39 47 std::vector<Var> vars = {}; 40 48 }; 41 49 50 + /*! 51 + * Object that has a series of tracked variables. 52 + */ 42 53 class Tracker 43 54 { 44 55 public: ··· 59 70 } 60 71 }; 61 72 62 - static class Tracker tracker; 73 + /*! 74 + * Global variable tracking state. 75 + */ 76 + static class Tracker gTracker; 63 77 64 78 65 79 /* ··· 71 85 static bool 72 86 get_on() 73 87 { 74 - if (tracker.tested) { 75 - return tracker.on; 88 + if (gTracker.tested) { 89 + return gTracker.on; 76 90 } 77 - tracker.on = debug_get_bool_option("XRT_TRACK_VARIABLES", false); 78 - tracker.tested = true; 91 + gTracker.on = debug_get_bool_option("XRT_TRACK_VARIABLES", false); 92 + gTracker.tested = true; 79 93 80 - return tracker.on; 94 + return gTracker.on; 81 95 } 82 96 83 97 static void 84 98 add_var(void *root, void *ptr, u_var_kind kind, const char *c_name) 85 99 { 86 - auto s = tracker.map.find((ptrdiff_t)root); 87 - if (s == tracker.map.end()) { 100 + auto s = gTracker.map.find((ptrdiff_t)root); 101 + if (s == gTracker.map.end()) { 88 102 return; 89 103 } 90 104 ··· 106 120 extern "C" void 107 121 u_var_force_on(void) 108 122 { 109 - tracker.on = true; 110 - tracker.tested = true; 123 + gTracker.on = true; 124 + gTracker.tested = true; 111 125 } 112 126 113 127 extern "C" void ··· 120 134 auto name = std::string(c_name); 121 135 122 136 if (number) { 123 - int count = tracker.getNumber(name); 137 + int count = gTracker.getNumber(name); 124 138 125 139 std::stringstream ss; 126 140 ss << name << " #" << count; 127 141 name = ss.str(); 128 142 } 129 143 130 - auto &obj = tracker.map[(ptrdiff_t)root] = Obj(); 144 + auto &obj = gTracker.map[(ptrdiff_t)root] = Obj(); 131 145 obj.name = name; 132 146 } 133 147 ··· 138 152 return; 139 153 } 140 154 141 - auto s = tracker.map.find((ptrdiff_t)root); 142 - if (s == tracker.map.end()) { 155 + auto s = gTracker.map.find((ptrdiff_t)root); 156 + if (s == gTracker.map.end()) { 143 157 return; 144 158 } 145 159 146 - tracker.map.erase(s); 160 + gTracker.map.erase(s); 147 161 } 148 162 149 163 extern "C" void ··· 154 168 } 155 169 156 170 std::vector<Obj *> tmp; 157 - tmp.reserve(tracker.map.size()); 171 + tmp.reserve(gTracker.map.size()); 158 172 159 - for (auto &n : tracker.map) { 173 + for (auto &n : gTracker.map) { 160 174 tmp.push_back(&n.second); 161 175 } 162 176 ··· 183 197 U_VAR_ADD_FUNCS() 184 198 185 199 #undef ADD_FUNC 200 + 201 + } // namespace xrt::auxiliary::util