|  | 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