Skip to content

Commit e4a8ea9

Browse files
committed
[C++]: change name of C++ codec generator to drop 98 suffix and just use Cpp. Change include files to be relative for codec generation. Change name convention for header files to .h instead of .hpp for codecs.
1 parent be5e016 commit e4a8ea9

File tree

5 files changed

+17
-17
lines changed

5 files changed

+17
-17
lines changed

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -365,19 +365,19 @@ task(generateJavaIrCodecs, type: JavaExec) {
365365
args = ['sbe-tool/src/main/resources/sbe-ir.xml']
366366
}
367367

368-
task(generateCpp98IrCodecs, type: JavaExec) {
368+
task(generateCppIrCodecs, type: JavaExec) {
369369
main = 'uk.co.real_logic.sbe.SbeTool'
370370
classpath = project(':sbe-all').sourceSets.main.runtimeClasspath
371371
systemProperties(
372372
'sbe.output.dir': 'sbe-tool/src/main/cpp',
373-
'sbe.target.language': 'Cpp98',
373+
'sbe.target.language': 'Cpp',
374374
'sbe.validation.xsd': validationXsdPath)
375375
args = ['sbe-tool/src/main/resources/sbe-ir.xml']
376376
}
377377

378378
task generateIrCodecs {
379379
description = 'Generate Java and C++ IR Codecs'
380-
dependsOn 'generateJavaIrCodecs', 'generateCpp98IrCodecs'
380+
dependsOn 'generateJavaIrCodecs', 'generateCppIrCodecs'
381381
}
382382

383383
task runBenchmarks(type: Exec) {

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
package uk.co.real_logic.sbe.generation;
1717

1818
import uk.co.real_logic.agrona.generation.PackageOutputManager;
19-
import uk.co.real_logic.sbe.generation.cpp98.Cpp98Generator;
20-
import uk.co.real_logic.sbe.generation.cpp98.NamespaceOutputManager;
19+
import uk.co.real_logic.sbe.generation.cpp.CppGenerator;
20+
import uk.co.real_logic.sbe.generation.cpp.NamespaceOutputManager;
2121
import uk.co.real_logic.sbe.generation.java.JavaGenerator;
2222
import uk.co.real_logic.sbe.ir.Ir;
2323

@@ -43,11 +43,11 @@ public CodeGenerator newInstance(final Ir ir, final String outputDir) throws IOE
4343
}
4444
},
4545

46-
CPP98()
46+
CPP()
4747
{
4848
public CodeGenerator newInstance(final Ir ir, final String outputDir) throws IOException
4949
{
50-
return new Cpp98Generator(ir, new NamespaceOutputManager(outputDir, ir.applicableNamespace()));
50+
return new CppGenerator(ir, new NamespaceOutputManager(outputDir, ir.applicableNamespace()));
5151
}
5252
};
5353

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp98/Cpp98Generator.java renamed to sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package uk.co.real_logic.sbe.generation.cpp98;
16+
package uk.co.real_logic.sbe.generation.cpp;
1717

1818
import uk.co.real_logic.sbe.PrimitiveType;
1919
import uk.co.real_logic.sbe.generation.CodeGenerator;
@@ -26,20 +26,20 @@
2626
import java.util.ArrayList;
2727
import java.util.List;
2828

29-
import static uk.co.real_logic.sbe.generation.cpp98.Cpp98Util.*;
29+
import static uk.co.real_logic.sbe.generation.cpp.CppUtil.*;
3030
import static uk.co.real_logic.sbe.ir.GenerationUtil.collectDataFields;
3131
import static uk.co.real_logic.sbe.ir.GenerationUtil.collectGroups;
3232
import static uk.co.real_logic.sbe.ir.GenerationUtil.collectRootFields;
3333

34-
public class Cpp98Generator implements CodeGenerator
34+
public class CppGenerator implements CodeGenerator
3535
{
3636
private static final String BASE_INDENT = "";
3737
private static final String INDENT = " ";
3838

3939
private final Ir ir;
4040
private final OutputManager outputManager;
4141

42-
public Cpp98Generator(final Ir ir, final OutputManager outputManager)
42+
public CppGenerator(final Ir ir, final OutputManager outputManager)
4343
throws IOException
4444
{
4545
Verify.notNull(ir, "ir");
@@ -799,6 +799,7 @@ private CharSequence generateFileHeader(final String namespaceName, final String
799799
"# define SBE_DOUBLE_NAN NAN\n" +
800800
"#endif\n\n" +
801801
"#if __cplusplus >= 201103L\n" +
802+
"# include <cstdint>\n" +
802803
"# include <functional>\n" +
803804
"# include <string>\n" +
804805
"#endif\n\n" +
@@ -812,8 +813,7 @@ private CharSequence generateFileHeader(final String namespaceName, final String
812813
for (final String incName : typesToInclude)
813814
{
814815
sb.append(String.format(
815-
"#include <%1$s/%2$s.hpp>\n",
816-
namespaceName,
816+
"#include \"%1$s.h\"\n",
817817
toUpperFirstChar(incName)
818818
));
819819
}

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp98/Cpp98Util.java renamed to sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package uk.co.real_logic.sbe.generation.cpp98;
16+
package uk.co.real_logic.sbe.generation.cpp;
1717

1818
import uk.co.real_logic.sbe.PrimitiveType;
1919

@@ -24,7 +24,7 @@
2424
/**
2525
* Utilities for mapping between IR and the C++ language.
2626
*/
27-
public class Cpp98Util
27+
public class CppUtil
2828
{
2929
private static Map<PrimitiveType, String> typeNameByPrimitiveTypeMap = new EnumMap<>(PrimitiveType.class);
3030

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package uk.co.real_logic.sbe.generation.cpp98;
16+
package uk.co.real_logic.sbe.generation.cpp;
1717

1818
import uk.co.real_logic.agrona.generation.OutputManager;
1919
import uk.co.real_logic.agrona.Verify;
@@ -66,7 +66,7 @@ public NamespaceOutputManager(final String baseDirectoryName, final String names
6666
*/
6767
public Writer createOutput(final String name) throws IOException
6868
{
69-
final File targetFile = new File(outputDir, name + ".hpp");
69+
final File targetFile = new File(outputDir, name + ".h");
7070
return new BufferedWriter(new OutputStreamWriter(new FileOutputStream(targetFile), "UTF-8"));
7171
}
7272
}

0 commit comments

Comments
 (0)