12 #if defined(__amigaos4__) && defined(__NEWLIB__) && defined(__STRICT_ANSI__)
13 #define snprintf(str, size, format, ...) sprintf((str), (format), __VA_ARGS__)
23 stream <<
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
31 void XmlWriter::Write<bool>(
const bool& val) {
33 stream << (val ?
"T" :
"F");
37 void XmlWriter::Write<int32_t>(
const int32_t& val) {
43 void XmlWriter::Write<int8_t>(
const int8_t& val) {
48 void XmlWriter::Write<uint8_t>(
const uint8_t& val) {
53 void XmlWriter::Write<int16_t>(
const int16_t& val) {
58 void XmlWriter::Write<uint32_t>(
const uint32_t& val) {
64 void XmlWriter::Write<double>(
const double& val) {
70 void XmlWriter::Write<std::string>(
const std::string& val) {
72 std::string::const_iterator it;
73 for (it = val.begin(); it != val.end(); it++) {
95 if (c >= 0 && c < 32) {
97 snprintf(temp,10,
"&#x%04x;", 0xE000 + c);
108 void XmlWriter::Write<std::vector<int32_t>>(
const std::vector<int32_t>& val) {
109 WriteVector<int32_t>(val);
113 void XmlWriter::Write<std::vector<bool>>(
const std::vector<bool>& val) {
114 WriteVector<bool>(val);
118 void XmlWriter::Write<std::vector<uint8_t>>(
const std::vector<uint8_t>& val) {
119 WriteVector<uint8_t>(val);
123 void XmlWriter::Write<std::vector<int16_t>>(
const std::vector<int16_t>& val) {
124 WriteVector<int16_t>(val);
128 void XmlWriter::Write<std::vector<uint32_t>>(
const std::vector<uint32_t>& val) {
129 WriteVector<uint32_t>(val);
133 void XmlWriter::Write<std::vector<double>>(
const std::vector<double>& val) {
134 WriteVector<double>(val);
144 typename std::vector<T>::const_iterator it;
146 for (it = val.begin(); it != val.end(); it++) {
164 stream <<
"<" << name <<
">";
172 snprintf(temp, 6,
"%04d", ID);
173 stream <<
"<" << name <<
" id=\"" << temp <<
"\">";
180 stream <<
"</" << name <<
">";
194 for (
int i = 0; i <
indent; i++)
203 template void XmlWriter::WriteNode<bool>(
const std::string& name,
const bool& val);
204 template void XmlWriter::WriteNode<uint8_t>(
const std::string& name,
const uint8_t& val);
205 template void XmlWriter::WriteNode<int16_t>(
const std::string& name,
const int16_t& val);
206 template void XmlWriter::WriteNode<uint32_t>(
const std::string& name,
const uint32_t& val);
207 template void XmlWriter::WriteNode<int32_t>(
const std::string& name,
const int32_t& val);
208 template void XmlWriter::WriteNode<double>(
const std::string& name,
const double& val);
209 template void XmlWriter::WriteNode<std::string>(
const std::string& name,
const std::string& val);
211 template void XmlWriter::WriteNode<std::vector<bool>>(
const std::string& name,
const std::vector<bool>& val);
212 template void XmlWriter::WriteNode<std::vector<uint8_t>>(
const std::string& name,
const std::vector<uint8_t>& val);
213 template void XmlWriter::WriteNode<std::vector<int16_t>>(
const std::string& name,
const std::vector<int16_t>& val);
214 template void XmlWriter::WriteNode<std::vector<uint32_t>>(
const std::string& name,
const std::vector<uint32_t>& val);
215 template void XmlWriter::WriteNode<std::vector<int32_t>>(
const std::string& name,
const std::vector<int32_t>& val);