MCPcopy Create free account
hub / github.com/OpenPTrack/open_ptrack_v2 / GetOrCreateValue

Method GetOrCreateValue

rtpose_wrapper/src/gtest/gtest.h:2432–2443  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2430 }
2431
2432 T* GetOrCreateValue() const {
2433 ThreadLocalValueHolderBase* const holder =
2434 static_cast<ThreadLocalValueHolderBase*>(pthread_getspecific(key_));
2435 if (holder != NULL) {
2436 return CheckedDowncastToActualType<ValueHolder>(holder)->pointer();
2437 }
2438
2439 ValueHolder* const new_holder = new ValueHolder(default_);
2440 ThreadLocalValueHolderBase* const holder_base = new_holder;
2441 GTEST_CHECK_POSIX_SUCCESS_(pthread_setspecific(key_, holder_base));
2442 return new_holder->pointer();
2443 }
2444
2445 // A key pthreads uses for looking up per-thread values.
2446 const pthread_key_t key_;

Callers

nothing calls this directly

Calls 1

pointerMethod · 0.45

Tested by

no test coverage detected