const std = @import("std"); const RequestRouter = @This(); const RequestHandler = @import("RequestHandler.zig"); const Route = @import("Route.zig"); ptr: *anyopaque, vtable: *const VTable, pub const VTable = struct { route: *const fn (self: *anyopaque, route: Route) anyerror!RequestHandler, }; pub inline fn rawRoute(self: RequestRouter, route: Route) anyerror!RequestHandler { return self.vtable.route(self.ptr, route); }