16 #ifndef dealii_smartpointer_h 17 #define dealii_smartpointer_h 66 template <
typename T,
typename P =
void>
145 operator T *()
const;
202 const std::string
id;
215 template <
typename T,
typename P>
218 ,
id(typeid(P).name())
224 template <
typename T,
typename P>
227 ,
id(typeid(P).name())
236 template <
typename T,
typename P>
248 template <
typename T,
typename P>
261 template <
typename T,
typename P>
273 template <
typename T,
typename P>
282 template <
typename T,
typename P>
297 template <
typename T,
typename P>
316 template <
typename T,
typename P>
329 t =
static_cast<T *
>(tt);
337 template <
typename T,
typename P>
349 t =
static_cast<T *
>(tt);
357 template <
typename T,
typename P>
365 template <
typename T,
typename P>
370 ExcMessage(
"The object pointed to is not valid anymore."));
376 template <
typename T,
typename P>
381 ExcMessage(
"The object pointed to is not valid anymore."));
387 template <
typename T,
typename P>
403 template <
typename T,
typename P>
418 template <
typename T,
typename P>
441 template <
typename T,
typename P,
class Q>
457 template <
typename T,
typename P>
473 template <
typename T,
typename P>
std::atomic< bool > pointed_to_object_is_alive
void swap(SmartPointer< T, P > &t1, SmartPointer< T, Q > &t2)
static ::ExceptionBase & ExcNotInitialized()
static ::ExceptionBase & ExcMessage(std::string arg1)
#define Assert(cond, exc)
#define DEAL_II_NAMESPACE_CLOSE
void swap(SmartPointer< T, Q > &tt)
SmartPointer< T, P > & operator=(T *tt)
#define DEAL_II_NAMESPACE_OPEN
std::size_t memory_consumption() const
static ::ExceptionBase & ExcInternalError()