---
name: "corelinux_TransparentComponent"
section: "3"
platform: "linux"
package: "libcorelinux-dev"
version: "0.4.32-5"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/corelinux_TransparentComponent"
---

# corelinux\_TransparentComponent(3)

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.

## NAME

corelinux::TransparentComponent - 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.

## SYNOPSIS

`#include <TransparentComponent.hpp>`

Inherits **corelinux::Component**.

### Public Member Functions

**TransparentComponent** (void)\
 *Default Constructor.*  **TransparentComponent** (const  **TransparentComponent** &aRef)\
 *Copy Constructor.*  virtual **~TransparentComponent** (void)\
 *Virtual Destructor.*  **TransparentComponent** & **operator=** (const  **TransparentComponent** &)\
 *Assignment operator overload.*  bool **operator==** (const  **TransparentComponent** &aRef) const \
 *Equality operator overload.*  bool **operator!=** (const  **TransparentComponent** &aRef) const \
 *Non-equality operator overload.*  virtual void **addComponent** (CompImpl)  throw (InvalidCompositeException)\
 *Interface for adding component children to a composition.*  virtual void **removeComponent** (CompImpl)  throw (InvalidCompositeException)\
 *Interface for removing component children from a composition.*  virtual **Iterator**\< CompImpl \> \* **createIterator** (void)  throw (InvalidCompositeException)\
 *Interface for creating an* **Iterator** *to iterate through the children of a composition.*  virtual void **destroyIterator** (**Iterator**\< CompImpl \> \*)  throw (InvalidCompositeException)\
 *Interface for returning a created* **Iterator***.*

## 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

### template\<class CompImpl\> corelinux::TransparentComponent\< CompImpl \>::TransparentComponent (const TransparentComponent\< CompImpl \> & aRef)` [inline]`

Copy Constructor. **Parameters:**

*TransparentComponent* const reference

## Member Function Documentation

### template\<class CompImpl\> virtual void corelinux::TransparentComponent\< CompImpl \>::addComponent (CompImpl) throw (InvalidCompositeException)` [inline, virtual]`

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* .RE

Reimplemented in **EquipmentComposite**.

### template\<class CompImpl\> virtual Iterator\<CompImpl\>\* corelinux::TransparentComponent\< CompImpl \>::createIterator (void) throw (InvalidCompositeException)` [inline, virtual]`

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* .RE

Reimplemented in **EquipmentComposite**.

### template\<class CompImpl\> virtual void corelinux::TransparentComponent\< CompImpl \>::destroyIterator (Iterator\< CompImpl \> \*) throw (InvalidCompositeException)` [inline, virtual]`

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* .RE

Reimplemented in **EquipmentComposite**.

### template\<class CompImpl\> bool corelinux::TransparentComponent\< CompImpl \>::operator!= (const TransparentComponent\< CompImpl \> & aRef) const` [inline]`

Non-equality operator overload. **Parameters:**

*TransparentComponent* const reference

**Returns:**

false if equal, true otherwise

### template\<class CompImpl\> TransparentComponent& corelinux::TransparentComponent\< CompImpl \>::operator= (const TransparentComponent\< CompImpl \> &)` [inline]`

Assignment operator overload. **Parameters:**

*TransparentComponent* const reference

**Returns:**

**TransparentComponent** reference to self

### template\<class CompImpl\> bool corelinux::TransparentComponent\< CompImpl \>::operator== (const TransparentComponent\< CompImpl \> & aRef) const` [inline]`

Equality operator overload. **Parameters:**

*TransparentComponent* const reference

**Returns:**

true if equal, false otherwise

### template\<class CompImpl\> virtual void corelinux::TransparentComponent\< CompImpl \>::removeComponent (CompImpl) throw (InvalidCompositeException)` [inline, virtual]`

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* .RE

Reimplemented in **EquipmentComposite**.

## Author

Generated automatically by Doxygen for CoreLinux++ from the source code.
