From 0f2cf531f705d370321843e5ba9135b2ebdb5d19 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sun, 17 May 2020 16:31:57 +0100 Subject: style(3p/nix): Reformat project in Google C++ style Reformatted with: fd . -e hh -e cc | xargs clang-format -i --- third_party/nix/src/libutil/sync.hh | 122 +++++++++++++++++------------------- 1 file changed, 59 insertions(+), 63 deletions(-) (limited to 'third_party/nix/src/libutil/sync.hh') diff --git a/third_party/nix/src/libutil/sync.hh b/third_party/nix/src/libutil/sync.hh index e1d591d77a84..b79d1176b9f3 100644 --- a/third_party/nix/src/libutil/sync.hh +++ b/third_party/nix/src/libutil/sync.hh @@ -1,9 +1,9 @@ #pragma once +#include +#include #include #include -#include -#include namespace nix { @@ -23,66 +23,62 @@ namespace nix { scope. */ -template -class Sync -{ -private: - M mutex; - T data; - -public: - - Sync() { } - Sync(const T & data) : data(data) { } - Sync(T && data) noexcept : data(std::move(data)) { } - - class Lock - { - private: - Sync * s; - std::unique_lock lk; - friend Sync; - Lock(Sync * s) : s(s), lk(s->mutex) { } - public: - Lock(Lock && l) : s(l.s) { abort(); } - Lock(const Lock & l) = delete; - ~Lock() { } - T * operator -> () { return &s->data; } - T & operator * () { return s->data; } - - void wait(std::condition_variable & cv) - { - assert(s); - cv.wait(lk); - } - - template - std::cv_status wait_for(std::condition_variable & cv, - const std::chrono::duration & duration) - { - assert(s); - return cv.wait_for(lk, duration); - } - - template - bool wait_for(std::condition_variable & cv, - const std::chrono::duration & duration, - Predicate pred) - { - assert(s); - return cv.wait_for(lk, duration, pred); - } - - template - std::cv_status wait_until(std::condition_variable & cv, - const std::chrono::time_point & duration) - { - assert(s); - return cv.wait_until(lk, duration); - } - }; - - Lock lock() { return Lock(this); } +template +class Sync { + private: + M mutex; + T data; + + public: + Sync() {} + Sync(const T& data) : data(data) {} + Sync(T&& data) noexcept : data(std::move(data)) {} + + class Lock { + private: + Sync* s; + std::unique_lock lk; + friend Sync; + Lock(Sync* s) : s(s), lk(s->mutex) {} + + public: + Lock(Lock&& l) : s(l.s) { abort(); } + Lock(const Lock& l) = delete; + ~Lock() {} + T* operator->() { return &s->data; } + T& operator*() { return s->data; } + + void wait(std::condition_variable& cv) { + assert(s); + cv.wait(lk); + } + + template + std::cv_status wait_for( + std::condition_variable& cv, + const std::chrono::duration& duration) { + assert(s); + return cv.wait_for(lk, duration); + } + + template + bool wait_for(std::condition_variable& cv, + const std::chrono::duration& duration, + Predicate pred) { + assert(s); + return cv.wait_for(lk, duration, pred); + } + + template + std::cv_status wait_until( + std::condition_variable& cv, + const std::chrono::time_point& duration) { + assert(s); + return cv.wait_until(lk, duration); + } + }; + + Lock lock() { return Lock(this); } }; -} +} // namespace nix -- cgit 1.4.1