Reference documentation for deal.II version 9.4.0
smartpointer.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/exceptions.h>
#include <atomic>
#include <typeinfo>

Go to the source code of this file.

Classes

class  SmartPointer< T, P >

Functions

template<typename T , typename P , class Q >
void swap (SmartPointer< T, P > &t1, SmartPointer< T, Q > &t2)

template<typename T , typename P >
void swap (SmartPointer< T, P > &t1, T *&t2)

template<typename T , typename P >
void swap (T *&t1, SmartPointer< T, P > &t2)

◆ swap() [1/3]

template<typename T , typename P , class Q >
 void swap ( SmartPointer< T, P > & t1, SmartPointer< T, Q > & t2 )
inline

Global function to swap the contents of two smart pointers. As both objects to which the pointers point retain to be subscribed to, we do not have to change their subscription count.

Definition at line 447 of file smartpointer.h.

◆ swap() [2/3]

template<typename T , typename P >
 void swap ( SmartPointer< T, P > & t1, T *& t2 )
inline

Global function to swap the contents of a smart pointer and a C-style pointer.

Note that we indeed need a reference of a pointer, as we want to change the pointer variable which we are given.

Definition at line 463 of file smartpointer.h.

◆ swap() [3/3]

template<typename T , typename P >
 void swap ( T *& t1, SmartPointer< T, P > & t2 )
inline

Global function to swap the contents of a C-style pointer and a smart pointer.

Note that we indeed need a reference of a pointer, as we want to change the pointer variable which we are given.

Definition at line 479 of file smartpointer.h.