aboutsummaryrefslogtreecommitdiff
path: root/tools/buildHeaders/header.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/buildHeaders/header.cpp')
-rw-r--r--tools/buildHeaders/header.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/tools/buildHeaders/header.cpp b/tools/buildHeaders/header.cpp
index fbae044..f9e06fb 100644
--- a/tools/buildHeaders/header.cpp
+++ b/tools/buildHeaders/header.cpp
@@ -583,7 +583,8 @@ namespace {
void printEpilogue(std::ostream& out) const override {
const Json::Value& enums = spvRoot["spv"]["enum"];
- out << "// Overload bitwise operators for mask bit combining\n\n";
+ // Create overloaded operator| for mask types
+ out << "// Overload operator| for mask bit combining\n\n";
for (auto opClass = enums.begin(); opClass != enums.end(); ++opClass) {
const bool isMask = (*opClass)["Type"].asString() == "Bit";
@@ -592,18 +593,8 @@ namespace {
if (isMask) {
const auto typeName = opName + styleStr(enumMask);
- // Overload operator|
- out << "inline " << typeName << " operator|(" << typeName << " a, " << typeName << " b) { return " <<
- typeName << "(unsigned(a) | unsigned(b)); }\n";
- // Overload operator&
- out << "inline " << typeName << " operator&(" << typeName << " a, " << typeName << " b) { return " <<
- typeName << "(unsigned(a) & unsigned(b)); }\n";
- // Overload operator^
- out << "inline " << typeName << " operator^(" << typeName << " a, " << typeName << " b) { return " <<
- typeName << "(unsigned(a) ^ unsigned(b)); }\n";
- // Overload operator~
- out << "inline " << typeName << " operator~(" << typeName << " a) { return " <<
- typeName << "(~unsigned(a)); }\n";
+ out << "inline " + typeName + " operator|(" + typeName + " a, " + typeName + " b) { return " +
+ typeName + "(unsigned(a) | unsigned(b)); }\n";
}
}