MCPcopy Create free account
hub / github.com/awslabs/aws-lambda-cpp / GetOrCreateValue

Function GetOrCreateValue

tests/gtest/gtest.h:2062–2073  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2060 }
2061
2062 T* GetOrCreateValue() const {
2063 ThreadLocalValueHolderBase* const holder =
2064 static_cast<ThreadLocalValueHolderBase*>(pthread_getspecific(key_));
2065 if (holder != nullptr) {
2066 return CheckedDowncastToActualType<ValueHolder>(holder)->pointer();
2067 }
2068
2069 ValueHolder* const new_holder = default_factory_->MakeNewHolder();
2070 ThreadLocalValueHolderBase* const holder_base = new_holder;
2071 GTEST_CHECK_POSIX_SUCCESS_(pthread_setspecific(key_, holder_base));
2072 return new_holder->pointer();
2073 }
2074
2075 class ValueHolderFactory {
2076 public:

Callers 2

pointerMethod · 0.85
pointerFunction · 0.85

Calls 2

pointerMethod · 0.45
MakeNewHolderMethod · 0.45

Tested by

no test coverage detected