#include <algorithm>
#include <atomic>
#include <cassert>
#include <iosfwd>
#include <type_traits>
#include <utility>
Go to the source code of this file.
|
| template<typename Type > |
| using | counting_ptr = CountingPtr< Type > |
| | make alias due to similarity with std::shared_ptr<T>
|
| |
| template<typename Type > |
| using | CountingPtrNoDelete = CountingPtr< Type, CountingPtrNoOperationDeleter > |
| | make alias for dummy deleter
|
| |
| using | reference_counter = ReferenceCounter |
| | make alias due to CountingPtr's similarity with std::shared_ptr<T>
|
| |
|
| 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
|
| |