Skip to content

Commit 004455f

Browse files
committed
[C++] Capture acting block length and use it with << operator. Issue aeron-io#839.
1 parent 2d8d380 commit 004455f

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1911,6 +1911,7 @@ private static CharSequence generateConstructorsAndOperators(final String classN
19111911
" m_bufferLength(bufferLength),\n" +
19121912
" m_offset(offset),\n" +
19131913
" m_position(sbeCheckPosition(offset + actingBlockLength)),\n" +
1914+
" m_actingBlockLength(actingBlockLength),\n" +
19141915
" m_actingVersion(actingVersion)\n" +
19151916
" {\n" +
19161917
" }\n\n" +
@@ -1946,6 +1947,7 @@ private CharSequence generateMessageFlyweightCode(final String className, final
19461947
" std::uint64_t m_bufferLength = 0;\n" +
19471948
" std::uint64_t m_offset = 0;\n" +
19481949
" std::uint64_t m_position = 0;\n" +
1950+
" std::uint64_t m_actingBlockLength = 0;\n" +
19491951
" std::uint64_t m_actingVersion = 0;\n\n" +
19501952

19511953
" inline std::uint64_t *sbePositionPtr() SBE_NOEXCEPT\n" +
@@ -2518,8 +2520,12 @@ private void generateDisplay(
25182520
"friend std::basic_ostream<CharT, Traits> & operator << (\n" +
25192521
" std::basic_ostream<CharT, Traits> &builder, %1$s _writer)\n" +
25202522
"{\n" +
2521-
" %1$s writer(_writer.m_buffer, _writer.m_offset,\n" +
2522-
" _writer.m_bufferLength, _writer.sbeBlockLength(), _writer.m_actingVersion);\n" +
2523+
" %1$s writer(\n" +
2524+
" _writer.m_buffer,\n" +
2525+
" _writer.m_offset,\n" +
2526+
" _writer.m_bufferLength,\n" +
2527+
" _writer.m_actingBlockLength,\n" +
2528+
" _writer.m_actingVersion);\n\n" +
25232529
" builder << '{';\n" +
25242530
" builder << R\"(\"Name\": \"%1$s\", )\";\n" +
25252531
" builder << R\"(\"sbeTemplateId\": )\";\n" +

0 commit comments

Comments
 (0)