Regina Calculation Engine
Public Types | Public Member Functions | List of all members
regina::FuncNewClonePtr< T > Struct Template Reference

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

#include <utilities/memutils.h>

Public Types

typedef const T * argument_type
 The argument type for this unary function. More...
 
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...
 

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:
Not present.

Member Typedef Documentation

template<class T >
typedef const T* regina::FuncNewClonePtr< T >::argument_type

The argument type for this unary function.

template<class T >
typedef T* regina::FuncNewClonePtr< T >::result_type

The return type for this unary function.

Member Function Documentation

template<class T >
T* regina::FuncNewClonePtr< T >::operator() ( const T *  ptr) const
inline

Creates a new object using the clone() method.

Parameters
ptrthe pointer whose corresponding object should be cloned.
Returns
the newly created clone.

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

Copyright © 1999-2013, 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@debian.org).