Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree > Class Template Reference

Subclass for wrapped opaque objects with a free function. More...

#include <Teuchos_OpaqueWrapper.hpp>

Inheritance diagram for Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 OpaqueWrapperWithFree (Opaque opaque, OpaqueFree opaqueFree)
 ~OpaqueWrapperWithFree ()

Private Member Functions

 OpaqueWrapperWithFree ()
 OpaqueWrapperWithFree (const OpaqueWrapperWithFree &)
OpaqueWrapperWithFreeoperator= (const OpaqueWrapperWithFree &)

Private Attributes

OpaqueFree opaqueFree_

Detailed Description

template<class Opaque, class OpaqueFree>
class Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree >

Subclass for wrapped opaque objects with a free function.

This subclass allows a client to easily wrap any opaque object that needs a function to free it. This function (or function object) must be callable as:

  opaqueFree(&opaque);

Again, this is typical for the opaque objects implemented in MPI for instance. For example, in order to delete an MPI_Comm object created by the user (not MPI_COMM_WORLD), you must call the function MPI_Comm_free().

Definition at line 142 of file Teuchos_OpaqueWrapper.hpp.


Constructor & Destructor Documentation

template<class Opaque , class OpaqueFree >
Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree >::OpaqueWrapperWithFree ( Opaque  opaque,
OpaqueFree  opaqueFree 
) [inline]

Definition at line 144 of file Teuchos_OpaqueWrapper.hpp.

template<class Opaque , class OpaqueFree >
Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree >::~OpaqueWrapperWithFree (  )  [inline]

Definition at line 147 of file Teuchos_OpaqueWrapper.hpp.

template<class Opaque , class OpaqueFree >
Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree >::OpaqueWrapperWithFree (  )  [private]
template<class Opaque , class OpaqueFree >
Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree >::OpaqueWrapperWithFree ( const OpaqueWrapperWithFree< Opaque, OpaqueFree > &   )  [private]

Member Function Documentation

template<class Opaque , class OpaqueFree >
OpaqueWrapperWithFree& Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree >::operator= ( const OpaqueWrapperWithFree< Opaque, OpaqueFree > &   )  [private]

Reimplemented from Teuchos::OpaqueWrapper< Opaque >.


Member Data Documentation

template<class Opaque , class OpaqueFree >
OpaqueFree Teuchos::OpaqueWrapperWithFree< Opaque, OpaqueFree >::opaqueFree_ [private]

Definition at line 161 of file Teuchos_OpaqueWrapper.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Tue Oct 20 10:14:04 2009 for Teuchos Package Browser (Single Doxygen Collection) by  doxygen 1.6.1