YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
intrusive_ptr.hpp File Reference
#include <yaclib/util/ref.hpp>
#include <type_traits>
#include <yaclib/util/detail/intrusive_ptr_impl.hpp>
Include dependency graph for intrusive_ptr.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  yaclib::NoRefTag
 
class  yaclib::IntrusivePtr< T >
 A intrusive pointer to objects with an embedded reference count. More...
 

Namespaces

namespace  yaclib
 

Functions

template<typename T , typename U >
bool yaclib::operator== (const IntrusivePtr< T > &lhs, const IntrusivePtr< U > &rhs) noexcept
 
template<typename T , typename U >
bool yaclib::operator!= (const IntrusivePtr< T > &lhs, const IntrusivePtr< U > &rhs) noexcept
 
template<typename T , typename U >
bool yaclib::operator== (const IntrusivePtr< T > &lhs, U *rhs) noexcept
 
template<typename T , typename U >
bool yaclib::operator!= (const IntrusivePtr< T > &lhs, U *rhs) noexcept
 
template<typename T , typename U >
bool yaclib::operator== (T *lhs, const IntrusivePtr< U > &rhs) noexcept
 
template<typename T , typename U >
bool yaclib::operator!= (T *lhs, const IntrusivePtr< U > &rhs) noexcept
 
template<typename T >
bool yaclib::operator== (const IntrusivePtr< T > &lhs, std::nullptr_t) noexcept
 
template<typename T >
bool yaclib::operator== (std::nullptr_t, const IntrusivePtr< T > &rhs) noexcept
 
template<typename T >
bool yaclib::operator!= (const IntrusivePtr< T > &lhs, std::nullptr_t) noexcept
 
template<typename T >
bool yaclib::operator!= (std::nullptr_t, const IntrusivePtr< T > &rhs) noexcept
 
template<typename T >
bool yaclib::operator< (const IntrusivePtr< T > &lhs, const IntrusivePtr< T > &rhs) noexcept