counting_ptr.hpp File Reference
#include <algorithm>
#include <atomic>
#include <cassert>
#include <iosfwd>
#include <type_traits>
#include <utility>

Go to the source code of this file.


class  CountingPtrDefaultDeleter
 default deleter for CountingPtr More...
class  CountingPtrNoOperationDeleter
 dummy deleter for CountingPtr More...
class  CountingPtr< Type, Deleter >
 High-performance smart pointer used as a wrapping reference counting pointer. More...
class  ReferenceCounter
 Provides reference counting abilities for use with CountingPtr. More...




template<typename Type >
using counting_ptr = CountingPtr< Type >
 make alias due to similarity with std::shared_ptr<T> More...
template<typename Type >
using CountingPtrNoDelete = CountingPtr< Type, CountingPtrNoOperationDeleter >
 make alias for dummy deleter More...
using reference_counter = ReferenceCounter
 make alias due to CountingPtr's similarity with std::shared_ptr<T> More...


template<typename Type , typename... Args>
CountingPtr< Type > make_counting (Args &&...args)
 method analogous to std::make_shared and std::make_unique. More...
template<typename A , typename D >
void swap (CountingPtr< A, D > &a1, CountingPtr< A, D > &a2) noexcept
 swap enclosed object with another counting pointer (no reference counts need change) More...
template<typename A , typename D >
std::ostream & operator<< (std::ostream &os, const CountingPtr< A, D > &c)
 print pointer More...