diff options
Diffstat (limited to 'src/io.zig')
-rw-r--r-- | src/io.zig | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/io.zig b/src/io.zig new file mode 100644 index 0000000..549711d --- /dev/null +++ b/src/io.zig @@ -0,0 +1,44 @@ +const std = @import("std"); + +pub const IOErrors = error{ + IOError, + NotImplemented, +}; + +pub const Functions = struct { + characterInput: fn () IOErrors!i64, + decimalInput: fn () IOErrors!i64, + characterOutput: fn (i64) IOErrors!void, + decimalOutput: fn (i64) IOErrors!void, +}; + +pub const defaultFunctions = Functions{ + .characterInput = characterInput, + .decimalInput = decimalInput, + .characterOutput = characterOutput, + .decimalOutput = decimalOutput, +}; + +fn characterInput() IOErrors!i64 { + // TODO + return error.NotImplemented; +} + +fn decimalInput() IOErrors!i64 { + // TODO + return error.NotImplemented; +} + +fn characterOutput(v: i64) IOErrors!void { + std.debug.print("{c}", .{@intCast(u8, v)}); + return; +} + +fn decimalOutput(v: i64) IOErrors!void { + std.debug.print("{d}", .{v}); + return; +} + +test "all" { + std.testing.refAllDecls(@This()); +} |