regina::FuncNewClonePtr< T > Struct Template Reference
Miscellaneous Utilities

An adaptable unary function used to create objects using the `clone()` method. More...

`#include <utilities/memutils.h>`

## Public Types

typedef T * | result_type
| The return type for this unary function. More...

## Public Member Functions

T * | operator() (const T *ptr) const
| Creates a new object using the `clone()` method. More...

## Public Attributes

const typedef T * | argument_type
| The argument type for this unary function. More...

## Detailed Description

### template<class T>
struct regina::FuncNewClonePtr< T >

An adaptable unary function used to create objects using the `clone()` method.

This class is for use with the Standard Template Library.

Note that the template argument need not be a pointer class. If the template argument is `T`, this unary function will accept a pointer to `T` and call `clone()` upon the corresponding object, returning a pointer to the newly created clone of type `T`.

Precondition
  Type `T` has method `T* clone() const`. The declared return type may be different, but the result must be castable to `T*`.

Python:\n Not present.

The documentation for this struct was generated from the following file:

- utilities/memutils.h

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).