NAME
corelinux::Decorator - Decorators can attach additional responsibilities to an object dynamically which provide a more flexible alternative to subclassing for extending functionality.
SYNOPSIS
#include <Decorator.hpp>
Inherits corelinux::CoreLinuxObject.
Public Member Functions
Decorator (Implementation aImplementation)
Default Constructor requires a Implementation. Decorator (const Decorator &aDecorator)
Copy Constructor copies theImplementation. virtual ~Decorator (void)
Virtual Destructor. Decorator & operator= (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 .RE
Exceptions:
NEVER_GET_HERE .RE
Member Function Documentation
template<class Implementation> virtual Implementation corelinux::Decorator< Implementation >::getImplementation (void) const [inline, virtual]
Gets current theImplementation. Returns:
Implementation instance
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 void corelinux::Decorator< Implementation >::setImplementation (Implementation aImplementation) throw (Exception) [inline, virtual]
Sets current theImplementation to aImplementation. Parameters:
Implementation - implementation instance
Exceptions:
Exception - derivation defined
Author
Generated automatically by Doxygen for CoreLinux++ from the source code.