---
name: "corelinux_Proxy"
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_Proxy"
---

# corelinux\_Proxy(3)

Provide a surrogate or placeholder for another object to control access to it.

## NAME

corelinux::Proxy - Provide a surrogate or placeholder for another object to control access to it.

## SYNOPSIS

`#include <Proxy.hpp>`

### Public Member Functions

**Proxy** (void)\
 *Default constructor.*  **Proxy** (SubjectImpl \*aSubject)  throw (Assertion)\
 *Constructor with SubjectImpl instance.*  **Proxy** (const  **Proxy** &aProxy)\
 *Copy constructor.*  virtual **~Proxy** (void)\
 *Virtual destructor.*  **Proxy** & **operator=** (const  **Proxy** &aProxy)\
 *Assignment operator.*  bool **operator==** (const  **Proxy** &aProxy) const \
 *Equality operator.*  virtual SubjectImpl \* **operator-\>** (void)\
 *Operator selector overload.*  virtual SubjectImpl & **operator \*** (void)  throw ( Assertion )\
 *Operator dereference overload.*  virtual const  SubjectImpl & **getSubject** (void) const   throw ( Assertion )\
 *Returns a reference to theSubjec.*

### Protected Member Functions

virtual void **setSubject** (SubjectImpl \*aSubject)\

### Protected Attributes

SubjectImpl \* **theSubject**\
 *The subject pointer.*

## Detailed Description

### template\<class SubjectImpl\> class corelinux::Proxy\< SubjectImpl \>

Provide a surrogate or placeholder for another object to control access to it.

## Constructor & Destructor Documentation

### template\<class SubjectImpl\> corelinux::Proxy\< SubjectImpl \>::Proxy (SubjectImpl \* aSubject) throw (Assertion)` [inline]`

Constructor with SubjectImpl instance. **Parameters:**

*SubjectImpl* pointer

### template\<class SubjectImpl\> corelinux::Proxy\< SubjectImpl \>::Proxy (const Proxy\< SubjectImpl \> & aProxy)` [inline]`

Copy constructor. **Parameters:**

*Proxy* const reference

## Member Function Documentation

### template\<class SubjectImpl\> virtual const SubjectImpl& corelinux::Proxy\< SubjectImpl \>::getSubject (void) const throw ( Assertion )` [inline, virtual]`

Returns a reference to theSubjec. **Returns:**

SubjectImpl const reference

**Exceptions:**

*Assertion* if theSubject is NULLPTR

### template\<class SubjectImpl\> virtual SubjectImpl& corelinux::Proxy\< SubjectImpl \>::operator \* (void) throw ( Assertion )` [inline, virtual]`

Operator dereference overload. **Returns:**

SubjectImpl reference

**Exceptions:**

*Assertion* if theSubject is NULLPTR

### template\<class SubjectImpl\> virtual SubjectImpl\* corelinux::Proxy\< SubjectImpl \>::operator-\> (void)` [inline, virtual]`

Operator selector overload. **Returns:**

SubjectImpl pointer

### template\<class SubjectImpl\> Proxy& corelinux::Proxy\< SubjectImpl \>::operator= (const Proxy\< SubjectImpl \> & aProxy)` [inline]`

Assignment operator. **Parameters:**

*Proxy* const reference

**Returns:**

**Proxy** reference

### template\<class SubjectImpl\> bool corelinux::Proxy\< SubjectImpl \>::operator== (const Proxy\< SubjectImpl \> & aProxy) const` [inline]`

Equality operator. **Parameters:**

*Proxy* const reference

**Returns:**

bool if same

## Author

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