Reference documentation for deal.II version 9.6.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
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)
 

Function Documentation

◆ 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 488 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 504 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 520 of file smartpointer.h.