// // thread_safe.h // shared_random_generator // // Created by Sam Jaffe on 3/19/23. // Copyright © 2023 Sam Jaffe. All rights reserved. // #pragma once #include #include namespace engine::random { class ThreadSafeDevice : public Device { private: std::mutex mutex_; std::unique_ptr impl_; public: ThreadSafeDevice(std::unique_ptr impl); unsigned int exclusive(unsigned int max) final; double exclusive(double min, double max) final; double inclusive(double min, double max) final; }; }