X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fqueue_spot_holder.h;h=8d47d4cbdf1eaa775e101a0c283ec5da1b5299fd;hb=4a9e97065dade428e373a83618bc973cd93cbe52;hp=b9dee062ba8231c27d4b7f5a08204a998119c29c;hpb=5150998b6b97fb01eb393f1c76db073cc4fe8505;p=nageru diff --git a/futatabi/queue_spot_holder.h b/futatabi/queue_spot_holder.h index b9dee06..8d47d4c 100644 --- a/futatabi/queue_spot_holder.h +++ b/futatabi/queue_spot_holder.h @@ -13,23 +13,30 @@ public: class QueueSpotHolder { public: - QueueSpotHolder() : queue(nullptr) {} + QueueSpotHolder() + : queue(nullptr) {} - explicit QueueSpotHolder(QueueInterface *queue) : queue(queue) { + explicit QueueSpotHolder(QueueInterface *queue) + : queue(queue) + { queue->take_queue_spot(); } - QueueSpotHolder(QueueSpotHolder &&other) : queue(other.queue) { + QueueSpotHolder(QueueSpotHolder &&other) + : queue(other.queue) + { other.queue = nullptr; } - QueueSpotHolder &operator=(QueueSpotHolder &&other) { + QueueSpotHolder &operator=(QueueSpotHolder &&other) + { queue = other.queue; other.queue = nullptr; return *this; } - ~QueueSpotHolder() { + ~QueueSpotHolder() + { if (queue != nullptr) { queue->release_queue_spot(); } @@ -40,7 +47,7 @@ public: QueueSpotHolder &operator=(QueueSpotHolder &) = delete; private: - QueueInterface *queue; + QueueInterface *queue; }; -#endif // !defined(_QUEUE_SPOT_HOLDER) +#endif // !defined(_QUEUE_SPOT_HOLDER)