46template <
typename Type>
58 for (
auto* o =
first.get(); o !=
nullptr;)
78 operator Type*()
const noexcept {
return &
get(); }
100 for (o =
first.get(); o !=
nullptr; o = o->
next)
104 for (o =
first.get(); o !=
nullptr; o = o->
next)
125 for (
auto* o =
first.get(); o !=
nullptr; o = o->next)
126 if (o->threadId.compareAndSetBool (
nullptr, threadId))
#define noexcept
Definition DistrhoDefines.h:72
void * ThreadID
Definition juce_Thread.h:304
static ThreadID JUCE_CALLTYPE getCurrentThreadId()
Definition juce_posix_SharedCode.h:1028
Type & operator*() const noexcept
Definition juce_ThreadLocalValue.h:71
Type * operator->() const noexcept
Definition juce_ThreadLocalValue.h:85
Atomic< ObjectHolder * > first
Definition juce_ThreadLocalValue.h:143
void releaseCurrentThreadStorage()
Definition juce_ThreadLocalValue.h:121
Type & get() const noexcept
Definition juce_ThreadLocalValue.h:95
ThreadLocalValue()=default
~ThreadLocalValue()
Definition juce_ThreadLocalValue.h:56
Definition carla_juce.cpp:31
Definition juce_Atomic.h:42
Type get() const noexcept
Definition juce_Atomic.h:64
bool compareAndSetBool(Type newValue, Type valueToCompare) noexcept
Definition juce_Atomic.h:96
Definition juce_ThreadLocalValue.h:133
Atomic< Thread::ThreadID > threadId
Definition juce_ThreadLocalValue.h:136
ObjectHolder * next
Definition juce_ThreadLocalValue.h:137
Type object
Definition juce_ThreadLocalValue.h:138
ObjectHolder(Thread::ThreadID idToUse, ObjectHolder *n)
Definition juce_ThreadLocalValue.h:134
int n
Definition crypt.c:458
#define const
Definition zconf.h:137