diff --git a/src/Pointee.zig b/src/Pointee.zig new file mode 100644 index 0000000000000000000000000000000000000000..d051bfa38127262f9580cf3bfaf01f725302069c --- /dev/null +++ b/src/Pointee.zig @@ -0,0 +1,16 @@ +const std = @import("std"); +const extras = @import("./lib.zig"); + +pub fn Pointee(T: type) type { + return switch (@typeInfo(T)) { + .pointer => |p| p.child, + else => T, + }; +} + +test { + try std.testing.expect(Pointee(u8) == u8); +} +test { + try std.testing.expect(Pointee(*u8) == u8); +} diff --git a/src/lib.zig b/src/lib.zig index 7a2b85c9df7cd51cdaa0a90e16e0a1185a74d029..1ef0e476df96b6c6459235f0f184067edb53dbc0 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -120,3 +120,4 @@ pub usingnamespace @import("./compareFnRange.zig"); pub usingnamespace @import("./asciiLower.zig"); pub usingnamespace @import("./parseDigits.zig"); pub usingnamespace @import("./from_hex.zig"); +pub usingnamespace @import("./Pointee.zig");