Without using preprocessor
diff --git a/tinyxml2.h b/tinyxml2.h
index 6ef7493..0910e0e 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -480,44 +480,54 @@
}
};
-#define FOR_EACH(F) \
- F(XML_SUCCESS) \
- F(XML_NO_ATTRIBUTE) \
- F(XML_WRONG_ATTRIBUTE_TYPE) \
- F(XML_ERROR_FILE_NOT_FOUND) \
- F(XML_ERROR_FILE_COULD_NOT_BE_OPENED) \
- F(XML_ERROR_FILE_READ_ERROR) \
- F(XML_ERROR_ELEMENT_MISMATCH) \
- F(XML_ERROR_PARSING_ELEMENT) \
- F(XML_ERROR_PARSING_ATTRIBUTE) \
- F(XML_ERROR_IDENTIFYING_TAG) \
- F(XML_ERROR_PARSING_TEXT) \
- F(XML_ERROR_PARSING_CDATA) \
- F(XML_ERROR_PARSING_COMMENT) \
- F(XML_ERROR_PARSING_DECLARATION) \
- F(XML_ERROR_PARSING_UNKNOWN) \
- F(XML_ERROR_EMPTY_DOCUMENT) \
- F(XML_ERROR_MISMATCHED_ELEMENT) \
- F(XML_ERROR_PARSING) \
- F(XML_CAN_NOT_CONVERT_TEXT) \
- F(XML_NO_TEXT_NODE)
-
-#define FF(X) X,
enum XMLError {
- FOR_EACH(FF)
- XML_ERROR_ID_NUM,
- XML_NO_ERROR = 0
+ XML_SUCCESS = 0,
+ XML_NO_ERROR = 0,
+ XML_NO_ATTRIBUTE,
+ XML_WRONG_ATTRIBUTE_TYPE,
+ XML_ERROR_FILE_NOT_FOUND,
+ XML_ERROR_FILE_COULD_NOT_BE_OPENED,
+ XML_ERROR_FILE_READ_ERROR,
+ XML_ERROR_ELEMENT_MISMATCH,
+ XML_ERROR_PARSING_ELEMENT,
+ XML_ERROR_PARSING_ATTRIBUTE,
+ XML_ERROR_IDENTIFYING_TAG,
+ XML_ERROR_PARSING_TEXT,
+ XML_ERROR_PARSING_CDATA,
+ XML_ERROR_PARSING_COMMENT,
+ XML_ERROR_PARSING_DECLARATION,
+ XML_ERROR_PARSING_UNKNOWN,
+ XML_ERROR_EMPTY_DOCUMENT,
+ XML_ERROR_MISMATCHED_ELEMENT,
+ XML_ERROR_PARSING,
+ XML_CAN_NOT_CONVERT_TEXT,
+ XML_NO_TEXT_NODE
};
-#undef FF
-#define FF(X) #X,
+
+
static const char *ErrorNames[] = {
- FOR_EACH(FF)
- "OUT_OF_RANGE"
+ "XML_SUCCESS",
+ "XML_NO_ATTRIBUTE",
+ "XML_WRONG_ATTRIBUTE_TYPE",
+ "XML_ERROR_FILE_NOT_FOUND",
+ "XML_ERROR_FILE_COULD_NOT_BE_OPENED",
+ "XML_ERROR_FILE_READ_ERROR",
+ "XML_ERROR_ELEMENT_MISMATCH",
+ "XML_ERROR_PARSING_ELEMENT",
+ "XML_ERROR_PARSING_ATTRIBUTE",
+ "XML_ERROR_IDENTIFYING_TAG",
+ "XML_ERROR_PARSING_TEXT",
+ "XML_ERROR_PARSING_CDATA",
+ "XML_ERROR_PARSING_COMMENT",
+ "XML_ERROR_PARSING_DECLARATION",
+ "XML_ERROR_PARSING_UNKNOWN",
+ "XML_ERROR_EMPTY_DOCUMENT",
+ "XML_ERROR_MISMATCHED_ELEMENT",
+ "XML_ERROR_PARSING",
+ "XML_CAN_NOT_CONVERT_TEXT",
+ "XML_NO_TEXT_NODE"
};
-#undef FF
-#undef FOR_EACH
-
/*
Utility functionality.