// // 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); int32_t inclusive(int32_t min, int32_t max) final; uint32_t inclusive(uint32_t min, uint32_t max) final; double exclusive(double min, double max) final; }; }