---
name: "corelinux_Component"
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_Component"
---

# corelinux\_Component(3)

A Component declares the interface for the objects in a composition and implements default behavior.

## NAME

corelinux::Component - A **Component** declares the interface for the objects in a composition and implements default behavior.

## SYNOPSIS

`#include <Component.hpp>`

Inherits **corelinux::CoreLinuxObject**.

Inherited by **corelinux::TransparentComponent\< CompImpl \>**, and **corelinux::TransparentComponent\< EquipmentPtr \>**.

### Public Member Functions

**Component** (void)\
 *Default Constructor.*  **Component** (**ComponentCref**)\
 *Copy Constructor.*  virtual **~Component** (void)\
 *Virtual Destructor.*  **ComponentRef** **operator=** (**ComponentCref**)\
 *Assignment operator overload.*  bool **operator==** (**ComponentCref**) const \
 *Equality operator overload.*  bool **operator!=** (**ComponentCref**) const \
 *Non-equality operator overload.*  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.*

## Detailed Description

A **Component** declares the interface for the objects in a composition and implements default behavior.

This is a safe component by which the composite implementation fully declares leaf management methods.

**See also:**

**TransparentComponent**

## Constructor & Destructor Documentation

### corelinux::Component::Component (ComponentCref)

Copy Constructor. **Parameters:**

*Component* const reference

## Member Function Documentation

### void corelinux::Component::accept (VisitorPtr) throw ( NullPointerException )` [virtual]`

Accept is a double dispatch method which allows components to have new operations defined without changing the structure of the components themselves. **Parameters:**

*Visitor* pointer to visitor

**Exceptions:**

*NullPointerException* if pointer is null

### bool corelinux::Component::operator!= (ComponentCref) const

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

*Component* const reference

**Returns:**

false if equal, true otherwise

### ComponentRef corelinux::Component::operator= (ComponentCref)

Assignment operator overload. **Parameters:**

*Component* const reference

**Returns:**

**Component** reference to self

### bool corelinux::Component::operator== (ComponentCref) const

Equality operator overload. **Parameters:**

*Component* const reference

**Returns:**

true if equal, false otherwise

## Author

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