CoreLinux++  0.4.32
Public Member Functions | List of all members
corelinux::TransparentComponent< CompImpl > Class Template Reference

A TransparentComponent is a templated Component whereas it declares the interface for the objects in a composition, implements default behavior and declares the interface for child operations. More...

#include <TransparentComponent.hpp>

Public Member Functions

 TransparentComponent (void)
 Default Constructor.
 
 TransparentComponent (const TransparentComponent &aRef)
 Copy Constructor. More...
 
virtual ~TransparentComponent (void)
 Virtual Destructor.
 
TransparentComponentoperator= (const TransparentComponent &)
 Assignment operator overload. More...
 
bool operator== (const TransparentComponent &aRef) const
 Equality operator overload. More...
 
bool operator!= (const TransparentComponent &aRef) const
 Non-equality operator overload. More...
 
virtual void addComponent (CompImpl) throw (InvalidCompositeException)
 Interface for adding component children to a composition. More...
 
virtual void removeComponent (CompImpl) throw (InvalidCompositeException)
 Interface for removing component children from a composition. More...
 
virtual Iterator< CompImpl > * createIterator (void) throw (InvalidCompositeException)
 Interface for creating an Iterator to iterate through the children of a composition. More...
 
virtual void destroyIterator (Iterator< CompImpl > *) throw (InvalidCompositeException)
 Interface for returning a created Iterator. More...
 
- Public Member Functions inherited from corelinux::Component
 Component (void)
 Default Constructor.
 
 Component (ComponentCref)
 Copy Constructor. More...
 
virtual ~Component (void)
 Virtual Destructor.
 
ComponentRef operator= (ComponentCref)
 Assignment operator overload. More...
 
bool operator== (ComponentCref) const
 Equality operator overload. More...
 
bool operator!= (ComponentCref) const
 Non-equality operator overload. More...
 
virtual void accept (VisitorPtr) throw ( NullPointerException )
 Accept is a double dispatch method which allows components to have new operations defined without changing the structure of the components themselves. More...
 
- Public Member Functions inherited from corelinux::CoreLinuxObject
 CoreLinuxObject (void)
 Default Constructor.
 
 CoreLinuxObject (CoreLinuxObjectCref)
 Copy Constructor. More...
 
virtual ~CoreLinuxObject (void)
 Virtual Destructor.
 
CoreLinuxObjectRef operator= (CoreLinuxObjectCref)
 Assignment operator overload. More...
 
bool operator== (CoreLinuxObjectCref) const
 Equality operator overload. More...
 
bool operator!= (CoreLinuxObjectCref) const
 Non-equality operator overload. More...
 

Detailed Description

template<class CompImpl>
class corelinux::TransparentComponent< CompImpl >

A TransparentComponent is a templated Component whereas it declares the interface for the objects in a composition, implements default behavior and declares the interface for child operations.

Constructor & Destructor Documentation

§ TransparentComponent()

template<class CompImpl >
corelinux::TransparentComponent< CompImpl >::TransparentComponent ( const TransparentComponent< CompImpl > &  aRef)
inline

Copy Constructor.

Parameters
TransparentComponentconst reference

Member Function Documentation

§ addComponent()

template<class CompImpl >
virtual void corelinux::TransparentComponent< CompImpl >::addComponent ( CompImpl  )
throw (InvalidCompositeException
)
inlinevirtual

Interface for adding component children to a composition.

The default implementation throws an exception to insure needless calls are not made to leafs components

Parameters
CompImpl- Component instantiated with implementation
Exceptions
InvalidCompositeInstance

§ createIterator()

template<class CompImpl >
virtual Iterator<CompImpl>* corelinux::TransparentComponent< CompImpl >::createIterator ( void  )
throw (InvalidCompositeException
)
inlinevirtual

Interface for creating an Iterator to iterate through the children of a composition.

The default implementation throws an exception to insure needless calls are not made to leafs

Parameters
CompImpl- Component instantiated with implementation
Exceptions
InvalidCompositeInstance

§ destroyIterator()

template<class CompImpl >
virtual void corelinux::TransparentComponent< CompImpl >::destroyIterator ( Iterator< CompImpl > *  )
throw (InvalidCompositeException
)
inlinevirtual

Interface for returning a created Iterator.

It is up to the Composite implementation to provide accounting of Iterator instances that have been given out. The default implementation throws an exception to insure needless calls are not made to leafs

Parameters
CompImpl- Component instantiated with implementation
Exceptions
InvalidCompositeInstance

§ operator!=()

template<class CompImpl >
bool corelinux::TransparentComponent< CompImpl >::operator!= ( const TransparentComponent< CompImpl > &  aRef) const
inline

Non-equality operator overload.

Parameters
TransparentComponentconst reference
Returns
false if equal, true otherwise

§ operator=()

template<class CompImpl >
TransparentComponent& corelinux::TransparentComponent< CompImpl >::operator= ( const TransparentComponent< CompImpl > &  )
inline

Assignment operator overload.

Parameters
TransparentComponentconst reference
Returns
TransparentComponent reference to self

§ operator==()

template<class CompImpl >
bool corelinux::TransparentComponent< CompImpl >::operator== ( const TransparentComponent< CompImpl > &  aRef) const
inline

Equality operator overload.

Parameters
TransparentComponentconst reference
Returns
true if equal, false otherwise

§ removeComponent()

template<class CompImpl >
virtual void corelinux::TransparentComponent< CompImpl >::removeComponent ( CompImpl  )
throw (InvalidCompositeException
)
inlinevirtual

Interface for removing component children from a composition.

The default implementation throws an exception to insure needless calls are not made to leafs

Parameters
CompImpl- Component instantiated with implementation
Exceptions
InvalidCompositeInstance

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

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium