---
name: "corelinux_Prototype"
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_Prototype"
---

# corelinux\_Prototype(3)

Specify the kinds of objects to create using a prototypical instance, and create new objects by copying (cloning) this prototype.

## NAME

corelinux::Prototype - Specify the kinds of objects to create using a prototypical instance, and create new objects by copying (cloning) this prototype.

## SYNOPSIS

`#include <Prototype.hpp>`

Inherits **corelinux::CoreLinuxObject**.

### Public Member Functions

**Prototype** (void)\
 *Default constructor.*  **Prototype** (const  **Prototype** &aPrototype)\
 *Copy constructor.*  virtual **~Prototype** (void)\
 *Virtual destructor.*  **Prototype** & **operator=** (const  **Prototype** &aPrototype)\
 *Assignment operator.*  bool **operator==** (const  **Prototype** &aPrototype) const \
 *Equality operator.*  virtual TypeImpl \* **clone** (void) const =0\
 *clone is used to create a copy of the current prototype instance.*

## Detailed Description

### template\<class TypeImpl\> class corelinux::Prototype\< TypeImpl \>

Specify the kinds of objects to create using a prototypical instance, and create new objects by copying (cloning) this prototype.

## Constructor & Destructor Documentation

### template\<class TypeImpl\> corelinux::Prototype\< TypeImpl \>::Prototype (const Prototype\< TypeImpl \> & aPrototype)` [inline]`

Copy constructor. **Parameters:**

*Prototype* const reference

## Member Function Documentation

### template\<class TypeImpl\> virtual TypeImpl\* corelinux::Prototype\< TypeImpl \>::clone (void) const` [pure virtual]`

clone is used to create a copy of the current prototype instance. **Returns:**

TypeImpl pointer

### template\<class TypeImpl\> Prototype& corelinux::Prototype\< TypeImpl \>::operator= (const Prototype\< TypeImpl \> & aPrototype)` [inline]`

Assignment operator. **Parameters:**

*Prototype* const reference

**Returns:**

**Prototype** reference to this instance

### template\<class TypeImpl\> bool corelinux::Prototype\< TypeImpl \>::operator== (const Prototype\< TypeImpl \> & aPrototype) const` [inline]`

Equality operator. **Parameters:**

*Prototype* const reference

**Returns:**

bool if instances are same

## Author

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