Skip to content

Commit f4302a8

Browse files
author
Andrew Ford
committed
Remove inefficiencies created by introducing specific C++11 functionality
1 parent c520a0d commit f4302a8

File tree

2 files changed

+5
-35
lines changed

2 files changed

+5
-35
lines changed

sbe-benchmarks/src/main/cpp/SbeCarCodecBench.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ class SbeCarCodecBench : public CodecBench<SbeCarCodecBench>
8383
{
8484
car.wrapForDecode((char *)buffer, 0, Car::sbeBlockLength(), Car::sbeSchemaVersion(), bufferLength);
8585

86+
#pragma GCC diagnostic push
87+
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
8688
int64_t tmpInt;
8789
const char *tmpChar;
8890
double tmpDouble;
@@ -132,6 +134,7 @@ class SbeCarCodecBench : public CodecBench<SbeCarCodecBench>
132134

133135
tmpChar = car.manufacturer();
134136
tmpChar = car.model();
137+
#pragma GCC diagnostic pop
135138

136139
return car.encodedLength();
137140
};

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -294,23 +294,13 @@ private static void generateGroupClassHeader(
294294
dimensionHeaderLength, blockLength, formatClassName(groupName)));
295295

296296
sb.append(
297-
indent + "#if __cplusplus < 201103L\n" +
298-
indent + " template<class Func> inline void forEach(Func& func)\n" +
297+
indent + " template<class Func> inline void forEach(Func func)\n" +
299298
indent + " {\n" +
300299
indent + " while (hasNext())\n" +
301300
indent + " {\n" +
302301
indent + " next(); func(*this);\n" +
303302
indent + " }\n" +
304-
indent + " }\n\n" +
305-
indent + "#else\n" +
306-
indent + " template<class Func> inline void forEach(Func&& func)\n" +
307-
indent + " {\n" +
308-
indent + " while (hasNext())\n" +
309-
indent + " {\n" +
310-
indent + " next(); func(*this);\n" +
311-
indent + " }\n" +
312-
indent + " }\n\n" +
313-
indent + "#endif\n\n");
303+
indent + " }\n\n");
314304
}
315305

316306
private static CharSequence generateGroupProperty(
@@ -1262,18 +1252,6 @@ private static CharSequence generateFixedFlyweightCode(final String className, f
12621252
" }\n\n" +
12631253
" %1$s(const %1$s& codec) :\n" +
12641254
" m_buffer(codec.m_buffer), m_offset(codec.m_offset), m_actingVersion(codec.m_actingVersion){}\n\n" +
1265-
"#if __cplusplus >= 201103L\n" +
1266-
" %1$s(%1$s&& codec) :\n" +
1267-
" m_buffer(codec.m_buffer), m_offset(codec.m_offset), m_actingVersion(codec.m_actingVersion){}\n\n" +
1268-
" %1$s& operator=(%1$s&& codec) SBE_NOEXCEPT\n" +
1269-
" {\n" +
1270-
" m_buffer = codec.m_buffer;\n" +
1271-
" m_bufferLength = codec.m_bufferLength;\n" +
1272-
" m_offset = codec.m_offset;\n" +
1273-
" m_actingVersion = codec.m_actingVersion;\n" +
1274-
" return *this;\n" +
1275-
" }\n\n" +
1276-
"#endif\n\n" +
12771255
" %1$s& operator=(const %1$s& codec) SBE_NOEXCEPT\n" +
12781256
" {\n" +
12791257
" m_buffer = codec.m_buffer;\n" +
@@ -1325,17 +1303,6 @@ private static CharSequence generateConstructorsAndOperators(final String classN
13251303
" {\n" +
13261304
" reset(codec);\n" +
13271305
" }\n\n" +
1328-
"#if __cplusplus >= 201103L\n" +
1329-
" %1$s(%1$s&& codec)\n" +
1330-
" {\n" +
1331-
" reset(codec);\n" +
1332-
" }\n\n" +
1333-
" %1$s& operator=(%1$s&& codec)\n" +
1334-
" {\n" +
1335-
" reset(codec);\n" +
1336-
" return *this;\n" +
1337-
" }\n\n" +
1338-
"#endif\n\n" +
13391306
" %1$s& operator=(const %1$s& codec)\n" +
13401307
" {\n" +
13411308
" reset(codec);\n" +

0 commit comments

Comments
 (0)