aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-11-12 00:39:53 +0100
committerShauren <shauren.trinity@gmail.com>2018-11-12 00:39:53 +0100
commitf6b0d99e2c0bc22b44d6f3cfdae50cbba7d51de8 (patch)
treefec55d275263a45b86a69e34314f072a1d27c298 /contrib
parent0068813ef92bf93db2642d6a1eaf7c082eaa5d2d (diff)
GCC build fix
Closes #22785
Diffstat (limited to 'contrib')
-rw-r--r--contrib/enumutils_describe.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/contrib/enumutils_describe.py b/contrib/enumutils_describe.py
index 82180ce8cc9..023b6523769 100644
--- a/contrib/enumutils_describe.py
+++ b/contrib/enumutils_describe.py
@@ -108,25 +108,32 @@ def processFile(path, filename):
output.write('#include "SmartEnum.h"\n')
output.write('#include <stdexcept>\n')
output.write('\n')
+ output.write('namespace Trinity\n')
+ output.write('{\n')
+ output.write('namespace Impl\n')
+ output.write('{\n')
for name, values in enums:
tag = ('data for enum \'%s\' in \'%s.h\' auto-generated' % (name, filename))
+ output.write('\n')
output.write('/*' + ('*'*(len(tag)+2)) + '*\\\n')
output.write('|* ' + tag + ' *|\n')
output.write('\\*' + ('*'*(len(tag)+2)) + '*/\n')
output.write('template <>\n')
- output.write('TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<%s>::ToString(%s value)\n' % (name, name))
+ output.write('TC_API_EXPORT EnumText EnumUtils<%s>::ToString(%s value)\n' % (name, name))
output.write('{\n')
output.write(' switch (value)\n')
output.write(' {\n')
for label, title, description in values:
- output.write(' case %s: return {%s, %s, %s};\n' % (label, strescape(label), strescape(title), strescape(description)))
+ output.write(' case %s: return { %s, %s, %s };\n' % (label, strescape(label), strescape(title), strescape(description)))
output.write(' default: throw std::out_of_range("value");\n')
output.write(' }\n')
output.write('}\n')
+ output.write('\n')
output.write('template <>\n');
- output.write('TC_API_EXPORT size_t Trinity::Impl::EnumUtils<%s>::Count() { return %d; }\n' % (name, len(values)))
+ output.write('TC_API_EXPORT size_t EnumUtils<%s>::Count() { return %d; }\n' % (name, len(values)))
+ output.write('\n')
output.write('template <>\n');
- output.write('TC_API_EXPORT %s Trinity::Impl::EnumUtils<%s>::FromIndex(size_t index)\n' % (name, name))
+ output.write('TC_API_EXPORT %s EnumUtils<%s>::FromIndex(size_t index)\n' % (name, name))
output.write('{\n')
output.write(' switch (index)\n')
output.write(' {\n')
@@ -134,7 +141,10 @@ def processFile(path, filename):
output.write(' case %d: return %s;\n' % (i, values[i][0]))
output.write(' default: throw std::out_of_range("index");\n')
output.write(' }\n')
- output.write('}\n\n')
+ output.write('}\n')
+
+ output.write('}\n')
+ output.write('}\n')
FilenamePattern = compile(r'^(.+).h$')
for root, dirs, files in walk('.'):