diff --git a/sbe-benchmarks/src/main/cpp/SbeCarCodecBench.h b/sbe-benchmarks/src/main/cpp/SbeCarCodecBench.h index ef5930a009..c3b1d60804 100644 --- a/sbe-benchmarks/src/main/cpp/SbeCarCodecBench.h +++ b/sbe-benchmarks/src/main/cpp/SbeCarCodecBench.h @@ -83,8 +83,6 @@ class SbeCarCodecBench : public CodecBench { car.wrapForDecode((char *)buffer, 0, Car::sbeBlockLength(), Car::sbeSchemaVersion(), bufferLength); -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-but-set-variable" int64_t tmpInt; const char *tmpChar; double tmpDouble; @@ -134,7 +132,6 @@ class SbeCarCodecBench : public CodecBench tmpChar = car.manufacturer(); tmpChar = car.model(); -#pragma GCC diagnostic pop return car.encodedLength(); }; diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java index be9d15d492..28056dc82b 100755 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java @@ -294,28 +294,22 @@ private static void generateGroupClassHeader( dimensionHeaderLength, blockLength, formatClassName(groupName))); sb.append( + indent + "#if __cplusplus < 201103L\n" + indent + " template inline void forEach(Func& func)\n" + indent + " {\n" + indent + " while (hasNext())\n" + indent + " {\n" + indent + " next(); func(*this);\n" + indent + " }\n" + - indent + " }\n" + - indent + "#if __cplusplus >= 201103L\n" + + indent + " }\n\n" + + indent + "#else\n" + indent + " template inline void forEach(Func&& func)\n" + indent + " {\n" + indent + " while (hasNext())\n" + indent + " {\n" + indent + " next(); func(*this);\n" + indent + " }\n" + - indent + " }\n" + - indent + " template inline void forEach(Func const& func)\n" + - indent + " {\n" + - indent + " while (hasNext())\n" + - indent + " {\n" + - indent + " next(); func(*this);\n" + - indent + " }\n" + - indent + " }\n" + + indent + " }\n\n" + indent + "#endif\n\n"); } @@ -1291,21 +1285,17 @@ private static CharSequence generateFixedFlyweightCode(final String className, f " m_offset(codec.m_offset),\n" + " m_actingVersion(codec.m_actingVersion){}\n\n" + "#if __cplusplus >= 201103L\n" + - " %1$s(%1$s&& codec) SBE_NOEXCEPT :\n" + + " %1$s(%1$s&& codec) :\n" + " m_buffer(codec.m_buffer),\n" + " m_bufferLength(codec.m_bufferLength),\n" + " m_offset(codec.m_offset),\n" + - " m_actingVersion(codec.m_actingVersion)\n" + - " {\n" + - " codec.reset(%1$s())\n" + - " }\n\n" + + " m_actingVersion(codec.m_actingVersion){}\n\n" + " %1$s& operator=(%1$s&& codec) SBE_NOEXCEPT\n" + " {\n" + - " if (this != &codec);\n" + - " {\n" + - " reset(codec);\n" + - " codec.reset(%1$s());\n" + - " }\n" + + " m_buffer = codec.m_buffer;\n" + + " m_bufferLength = codec.m_bufferLength;\n" + + " m_offset = codec.m_offset;\n" + + " m_actingVersion = codec.m_actingVersion;\n" + " return *this;\n" + " }\n\n" + "#endif\n\n" + @@ -1360,27 +1350,22 @@ private static CharSequence generateConstructorsAndOperators(final String classN " {\n" + " reset(codec);\n" + " }\n\n" + - " %1$s& operator=(const %1$s& codec) SBE_NOEXCEPT\n" + + "#if __cplusplus >= 201103L\n" + + " %1$s(%1$s&& codec)\n" + " {\n" + " reset(codec);\n" + - " return *this;\n" + " }\n\n" + - "#if __cplusplus >= 201103L\n" + - " %1$s(%1$s&& codec) SBE_NOEXCEPT : \n" + + " %1$s& operator=(%1$s&& codec)\n" + " {\n" + " reset(codec);\n" + - " codec.reset(%1$s());\n" + + " return *this;\n" + " }\n\n" + - " %1$s& operator =(%1$s&& codec) SBE_NOEXCEPT : \n" + + "#endif\n\n" + + " %1$s& operator=(const %1$s& codec)\n" + " {\n" + - " if (this != &codec)\n" + - " {\n" + - " reset(codec);\n" + - " codec.reset(%1$s());\n" + - " }\n" + + " reset(codec);\n" + " return *this;\n" + - " }\n" + - "#endif\n\n", + " }\n\n", className); }