corelinux::Decorator< Implementation > Class Template Reference

Decorators can attach additional responsibilities to an object dynamically which provide a more flexible alternative to subclassing for extending functionality. More...

#include <Decorator.hpp>

Inheritance diagram for corelinux::Decorator< Implementation >:

corelinux::CoreLinuxObject List of all members.

Public Member Functions

 Decorator (Implementation aImplementation)
 Default Constructor requires a Implementation.
 Decorator (const Decorator &aDecorator)
 Copy Constructor copies theImplementation.
virtual ~Decorator (void)
 Virtual Destructor.
Decoratoroperator= (const Decorator &aDecorator) throw (Exception)
 Assignment operator overload.
bool operator== (const Decorator &aDecorator) const
 Equality operator overload.
virtual Implementation getImplementation (void) const
 Gets current theImplementation.
virtual void setImplementation (Implementation aImplementation) throw (Exception)
 Sets current theImplementation to aImplementation.

Protected Member Functions

 Decorator (void) throw (Assertion)
 Default Constructor Because a Decorator requires a implementation to work, you can not construct one without it.

Protected Attributes

Implementation theImplementation
 Storage for theImplementation object.

Detailed Description

template<class Implementation>
class corelinux::Decorator< Implementation >

Decorators can attach additional responsibilities to an object dynamically which provide a more flexible alternative to subclassing for extending functionality.


Constructor & Destructor Documentation

template<class Implementation>
corelinux::Decorator< Implementation >::Decorator ( Implementation  aImplementation  )  [inline]

Default Constructor requires a Implementation.

Parameters:
Implementation instance

template<class Implementation>
corelinux::Decorator< Implementation >::Decorator ( const Decorator< Implementation > &  aDecorator  )  [inline]

Copy Constructor copies theImplementation.

Parameters:
Decorator const reference

template<class Implementation>
corelinux::Decorator< Implementation >::Decorator ( void   )  throw (Assertion) [inline, protected]

Default Constructor Because a Decorator requires a implementation to work, you can not construct one without it.

Parameters:
void 
Exceptions:
NEVER_GET_HERE 


Member Function Documentation

template<class Implementation>
Decorator& corelinux::Decorator< Implementation >::operator= ( const Decorator< Implementation > &  aDecorator  )  throw (Exception) [inline]

Assignment operator overload.

This may throw Exception if there is a problem cloning theImplementation.

Parameters:
Decorator const reference
Returns:
Decorator reference to self
Exceptions:
Exception - implementation defined

template<class Implementation>
bool corelinux::Decorator< Implementation >::operator== ( const Decorator< Implementation > &  aDecorator  )  const [inline]

Equality operator overload.

Parameters:
Decorator const reference
Returns:
true if equal, false otherwise

template<class Implementation>
virtual Implementation corelinux::Decorator< Implementation >::getImplementation ( void   )  const [inline, virtual]

Gets current theImplementation.

Returns:
Implementation instance

template<class Implementation>
virtual void corelinux::Decorator< Implementation >::setImplementation ( Implementation  aImplementation  )  throw (Exception) [inline, virtual]

Sets current theImplementation to aImplementation.

Parameters:
Implementation - implementation instance
Exceptions:
Exception - derivation defined


The documentation for this class was generated from the following file:
This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium