Skip to content

Commit da95145

Browse files
author
Todd L. Montgomery
committed
[C++]: changes to support aeron-io#9 for C++.
1 parent 687143c commit da95145

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

main/java/uk/co/real_logic/sbe/generation/cpp98/Cpp98Generator.java

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,29 +1079,36 @@ private CharSequence generateMessageFlyweightCode(final int blockLength,
10791079
final int schemaId,
10801080
final int version)
10811081
{
1082-
final StringBuilder sb = new StringBuilder();
1082+
final String blockLengthType = cpp98TypeName(ir.headerStructure().blockLengthType());
1083+
final String templateIdType = cpp98TypeName(ir.headerStructure().templateIdType());
1084+
final String templateVersionType = cpp98TypeName(ir.headerStructure().templateVersionType());
10831085

1084-
sb.append(String.format(
1086+
return String.format(
10851087
"private:\n" +
10861088
" char *buffer_;\n" +
10871089
" int *positionPtr_;\n" +
10881090
" int offset_;\n" +
10891091
" int position_;\n" +
10901092
" int actingBlockLength_;\n" +
1091-
" int actingVersion_;\n\n"
1092-
));
1093-
1094-
sb.append(String.format(
1093+
" int actingVersion_;\n\n" +
10951094
"public:\n\n" +
1096-
" static sbe_uint64_t blockLength(void)\n" +
1095+
" static %1$s blockLength(void)\n" +
10971096
" {\n" +
1098-
" return %1$d;\n" +
1097+
" return %2$s;\n" +
1098+
" }\n\n" +
1099+
" static %3$s templateId(void)\n" +
1100+
" {\n" +
1101+
" return %4$s;\n" +
1102+
" }\n\n" +
1103+
" static %5$s templateVersion(void)\n" +
1104+
" {\n" +
1105+
" return %6$s;\n" +
10991106
" }\n\n" +
11001107
" sbe_uint64_t offset(void) const\n" +
11011108
" {\n" +
11021109
" return offset_;\n" +
11031110
" }\n\n" +
1104-
" %2$s &wrapForEncode(char *buffer, const int offset)\n" +
1111+
" %7$s &wrapForEncode(char *buffer, const int offset)\n" +
11051112
" {\n" +
11061113
" buffer_ = buffer;\n" +
11071114
" offset_ = offset;\n" +
@@ -1111,7 +1118,7 @@ private CharSequence generateMessageFlyweightCode(final int blockLength,
11111118
" positionPtr_ = &position_;\n" +
11121119
" return *this;\n" +
11131120
" }\n\n" +
1114-
" %2$s &wrapForDecode(char *buffer, const int offset,\n" +
1121+
" %7$s &wrapForDecode(char *buffer, const int offset,\n" +
11151122
" const int actingBlockLength, const int actingVersion)\n" +
11161123
" {\n" +
11171124
" buffer_ = buffer;\n" +
@@ -1134,14 +1141,6 @@ private CharSequence generateMessageFlyweightCode(final int blockLength,
11341141
" {\n" +
11351142
" return position() - offset_;\n" +
11361143
" }\n\n" +
1137-
" static int templateId(void)\n" +
1138-
" {\n" +
1139-
" return %3$d;\n" +
1140-
" }\n\n" +
1141-
" static int templateVersion(void)\n" +
1142-
" {\n" +
1143-
" return %4$d;\n" +
1144-
" }\n\n" +
11451144
" char *buffer(void)\n" +
11461145
" {\n" +
11471146
" return buffer_;\n" +
@@ -1150,13 +1149,14 @@ private CharSequence generateMessageFlyweightCode(final int blockLength,
11501149
" {\n" +
11511150
" return actingVersion_;\n" +
11521151
" }\n",
1153-
Integer.valueOf(blockLength),
1154-
className,
1155-
Integer.valueOf(schemaId),
1156-
Long.valueOf(version)
1157-
));
1158-
1159-
return sb;
1152+
blockLengthType,
1153+
generateLiteral(ir.headerStructure().blockLengthType(), Integer.toString(blockLength)),
1154+
templateIdType,
1155+
generateLiteral(ir.headerStructure().templateIdType(), Integer.toString(schemaId)),
1156+
templateVersionType,
1157+
generateLiteral(ir.headerStructure().templateVersionType(), Integer.toString(version)),
1158+
className
1159+
);
11601160
}
11611161

11621162
private CharSequence generateFields(final String containingClassName,

0 commit comments

Comments
 (0)