Regina Calculation Engine
Classes | Namespaces | Functions
safeptr.h File Reference

Provides a smart pointer that is safe in the sense that it cannot be dangling. More...

#include <boost/intrusive_ptr.hpp>

Classes

class  regina::SafePointeeBase< T >
 A base class for objects of type T to be referenceable by a SafePtr. More...
 
class  regina::detail::SafeRemnant< T >
 A helper class for SafePtr. More...
 
class  regina::SafePtr< T >
 A reference counted smart pointer that supports alternate models of ownership. More...
 

Namespaces

 regina
 Contains the entire Regina calculation engine.
 
 regina::detail
 Contains implementation details and common functionality for Regina's dimension-agnostic classes.
 

Functions

template<class T >
T * boost::get_pointer (regina::SafePtr< T > const &ptr)
 Extracts a raw pointer from the given safe pointer. More...
 

Detailed Description

Provides a smart pointer that is safe in the sense that it cannot be dangling.

Function Documentation

§ get_pointer()

template<class T >
T* boost::get_pointer ( regina::SafePtr< T > const &  ptr)
inline

Extracts a raw pointer from the given safe pointer.

This is required for SafePtr to support the boost dereferencable concept.

Parameters
ptra safe pointer. This may be null.
Returns
the corresponding raw pointer.

Copyright © 1999-2016, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).