Teuchos_Handle.hpp File Reference

#include "Teuchos_ConfigDefs.hpp"
#include "Teuchos_RCP.hpp"
#include "Teuchos_Describable.hpp"
#include "Teuchos_Handleable.hpp"
Include dependency graph for Teuchos_Handle.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Teuchos::ConstHandle< PointerType >
 Templated handle class with strong const protection. More...
class  Teuchos::Handle< PointerType >
 Generic templated handle class. More...

Namespaces

namespace  Teuchos

Defines

#define TEUCHOS_HANDLE_CTORS(handle, contents)
 This helper macro defines boilerplate constructors for classes deriving from Handle.
#define TEUCHOS_CONST_HANDLE_CTORS(handle, contents)
 . This helper macro defines boilerplate constructors for classes deriving from ConstHandle.

Define Documentation

#define TEUCHOS_HANDLE_CTORS ( handle,
contents   ) 
Value:
handle() : Teuchos::Handle<contents >() {;} \
handle(Teuchos::Handleable<contents >* rawPtr) : Teuchos::Handle<contents >(rawPtr) {;} \
handle(const Teuchos::RCP<contents >& smartPtr) : Teuchos::Handle<contents >(smartPtr){;}

This helper macro defines boilerplate constructors for classes deriving from Handle.

If class MyHandle is a handle to a type MyType, simply put

 TEUCHOS_HANDLE_CTORS(MyHandle, MyType);

in the class declaration of MyHandle and the macro will create an empty ctor, a ctor from a smart ptr, and a ctor from a raw pointer. The macro will also create appropriate doxygen for the handle ctors

Definition at line 166 of file Teuchos_Handle.hpp.

#define TEUCHOS_CONST_HANDLE_CTORS ( handle,
contents   ) 
Value:
handle( Teuchos::ENull _null = Teuchos::null ) : Teuchos::ConstHandle<contents >() {;} \
handle(const Teuchos::ConstHandleable<contents >* rawPtr) : Teuchos::ConstHandle<contents >(rawPtr) {;} \
handle(const Teuchos::RCP<const contents >& smartPtr) : Teuchos::ConstHandle<contents >(smartPtr){;}

. This helper macro defines boilerplate constructors for classes deriving from ConstHandle.

If class MyHandle is a const handle to a type MyType, simply put

 TEUCHOS_CONST_HANDLE_CTORS(MyHandle, MyType);

in the class declaration of MyHandle and the macro will create an empty ctor, a ctor from a smart ptr, and a ctor from a raw pointer. The macro will also create appropriate doxygen for the handle ctors

Definition at line 182 of file Teuchos_Handle.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 09:57:33 2011 for Teuchos Package Browser (Single Doxygen Collection) by  doxygen 1.6.3