// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #pragma once #include <gpu/stream.hpp> #include "opencl.h" namespace VideoStitch { namespace GPU { class Stream::DeviceStream { public: DeviceStream() : commandQueue(nullptr) {} explicit DeviceStream(cl_command_queue cq) : commandQueue(cq) {} static PotentialValue<Stream> createPotentialStream(); operator cl_command_queue() const { return commandQueue; } bool operator==(const DeviceStream& other) const { return commandQueue == other.commandQueue; } bool operator!=(const DeviceStream& other) const { return !(*this == other); } private: cl_command_queue commandQueue; }; } // namespace GPU } // namespace VideoStitch