#pragma once
#include <panda/refcnt.h>
#include <panda/log.h>
namespace panda { namespace unievent {
struct Loop;
using LoopSP = iptr<Loop>;
struct Handle;
using HandleSP = iptr<Handle>;
struct Prepare;
using PrepareSP = iptr<Prepare>;
struct Check;
using CheckSP = iptr<Check>;
struct Idle;
using IdleSP = iptr<Idle>;
struct Timer;
using TimerSP = iptr<Timer>;
struct Async;
using AsyncSP = iptr<Async>;
struct Signal;
using SignalSP = iptr<Signal>;
struct Poll;
using PollSP = iptr<Poll>;
struct Resolver;
using ResolverSP = iptr<Resolver>;
struct Udp;
using UdpSP = iptr<Udp>;
struct SendRequest;
using SendRequestSP = iptr<SendRequest>;
struct Stream;
using StreamSP = iptr<Stream>;
struct StreamFilter;
using StreamFilterSP = iptr<StreamFilter>;
struct StreamRequest;
using StreamRequestSP = iptr<StreamRequest>;
struct AcceptRequest;
using AcceptRequestSP = iptr<AcceptRequest>;
struct ConnectRequest;
using ConnectRequestSP = iptr<ConnectRequest>;
struct WriteRequest;
using WriteRequestSP = iptr<WriteRequest>;
struct ShutdownRequest;
using ShutdownRequestSP = iptr<ShutdownRequest>;
struct RunInOrderRequest;
using RunInOrderRequestSP = iptr<RunInOrderRequest>;
struct Pipe;
using PipeSP = iptr<Pipe>;
struct PipeConnectRequest;
using PipeConnectRequestSP = iptr<PipeConnectRequest>;
struct Tcp;
using TcpSP = iptr<Tcp>;
struct TcpConnectRequest;
using TcpConnectRequestSP = iptr<TcpConnectRequest>;
struct Work;
using WorkSP = iptr<Work>;
struct FsPoll;
using FsPollSP = iptr<FsPoll>;
struct FsEvent;
using FsEventSP = iptr<FsEvent>;
}}