tlx
Loading...
Searching...
No Matches
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.

Classes

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

Namespaces

namespace  tlx

Typedefs

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

Functions

template<typename Type, typename... Args>
CountingPtr< Type > make_counting (Args &&... args)
 method analogous to std::make_shared and std::make_unique.
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)
template<typename A, typename D>
std::ostream & operator<< (std::ostream &os, const CountingPtr< A, D > &c)
 print pointer