11 #ifndef hifi_ThreadSafeValueCache_h
12 #define hifi_ThreadSafeValueCache_h
24 class ThreadSafeValueCache {
26 ThreadSafeValueCache() {}
27 ThreadSafeValueCache(
const T& v) : _value { v } {}
31 std::lock_guard<std::mutex> guard(_mutex);
36 T get(
bool& valid)
const {
37 std::lock_guard<std::mutex> guard(_mutex);
43 void set(
const T& v) {
44 std::lock_guard<std::mutex> guard(_mutex);
51 std::lock_guard<std::mutex> guard(_mutex);
55 bool isValid()
const {
56 std::lock_guard<std::mutex> guard(_mutex);
61 mutable std::mutex _mutex;
63 bool _valid {
false };
66 ThreadSafeValueCache(
const ThreadSafeValueCache&) =
delete;
67 ThreadSafeValueCache& operator=(
const ThreadSafeValueCache&) =
delete;