+} // namespace
+
+
+int Debug::levelCount()
+{
+ return numErrorTags;
+}
+
+
+Debug::Type Debug::value(int idx)
+{
+ if (idx > 0 && idx < numErrorTags)
+ return errorTags[idx].level;
+ return Debug::NONE;
+}
+
+
+string const Debug::description(Debug::Type val)
+{
+ for (int i = 0 ; i < numErrorTags ; ++i) {
+ if (errorTags[i].level == val)
+ return errorTags[i].desc;
+ }
+ return "unknown level";
+}
+
+
+string const Debug::name(Debug::Type val)
+{
+ for (int i = 0 ; i < numErrorTags ; ++i) {
+ if (errorTags[i].level == val)
+ return errorTags[i].name;
+ }
+ return "unknown level";
+}