 |
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef CXXUTILS_CACHEDUNIQUEPTR_H
14 #define CXXUTILS_CACHEDUNIQUEPTR_H
78 T*
set (std::unique_ptr<T> elt)
const;
83 void store (std::unique_ptr<T> elt) noexcept;
99 explicit operator bool()
const;
120 #include "CxxUtils/CachedUniquePtr.icc"
123 #endif // not CXXUTILS_CACHEDUNIQUEPTR_H
T * operator->() const
Dereference the element.
T & operator*() const
Dereference the element.
CachedUniquePtrT & operator=(CachedUniquePtrT &&other) noexcept
Move.
CachedUniquePtrT()
Default constructor. Sets the element to null.
Cached pointer with atomic update.
T * set(std::unique_ptr< T > elt) const
Atomically set the element.
bool const RAWDATA *ch2 const
std::unique_ptr< T > release() noexcept
Transfer ownership from the element: return the current value as a unique_ptr, leaving the element nu...
std::atomic< T * > m_ptr
The cached element.
CachedUniquePtrT(std::unique_ptr< T > elt)
Constructor from an element.
void store(std::unique_ptr< T > elt) noexcept
Store a new value to the element.
T * get() const
Return the current value of the element.
CachedUniquePtrT(CachedUniquePtrT &&other) noexcept
Move constructor.
setBGCode setTAP setLVL2ErrorBits bool