public CppWriter(CppCodegenCompilation compilation, string outputFilePath) { _compilation = compilation; _out = new StreamWriter(new FileStream(outputFilePath, FileMode.Create, FileAccess.Write, FileShare.Read, 4096, false)); // Unify this list with the one in CppCodegenNodeFactory SetWellKnownTypeSignatureName(WellKnownType.Void, "void"); SetWellKnownTypeSignatureName(WellKnownType.Boolean, "uint8_t"); SetWellKnownTypeSignatureName(WellKnownType.Char, "uint16_t"); SetWellKnownTypeSignatureName(WellKnownType.SByte, "int8_t"); SetWellKnownTypeSignatureName(WellKnownType.Byte, "uint8_t"); SetWellKnownTypeSignatureName(WellKnownType.Int16, "int16_t"); SetWellKnownTypeSignatureName(WellKnownType.UInt16, "uint16_t"); SetWellKnownTypeSignatureName(WellKnownType.Int32, "int32_t"); SetWellKnownTypeSignatureName(WellKnownType.UInt32, "uint32_t"); SetWellKnownTypeSignatureName(WellKnownType.Int64, "int64_t"); SetWellKnownTypeSignatureName(WellKnownType.UInt64, "uint64_t"); SetWellKnownTypeSignatureName(WellKnownType.IntPtr, "intptr_t"); SetWellKnownTypeSignatureName(WellKnownType.UIntPtr, "uintptr_t"); SetWellKnownTypeSignatureName(WellKnownType.Single, "float"); SetWellKnownTypeSignatureName(WellKnownType.Double, "double"); BuildExternCSignatureMap(); }