---
name: "ost_Pointer"
section: "3"
platform: "linux"
package: "libcommoncpp2-doc"
version: "1.8.1-10"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ost_Pointer"
---

# ost\_Pointer(3)

Used to create and manage referece counted pointers.

## NAME

ost::Pointer\< T \> - Used to create and manage referece counted pointers.

## SYNOPSIS

`#include <pointer.h>`

### Public Member Functions

**Pointer** (T \*ptr=NULL)\
 **Pointer** (const **Pointer**\< T \> &ref)\
 virtual **~Pointer** ()\
 **Pointer** & **operator=** (const **Pointer**\< T \> &ref)\
 T & **operator\*** () const\
 T \* **getObject** () const\
 T \* **operator-\>** () const\
 bool **operator!** () const\
 int **operator++** () const\
 int **operator--** () const\

### Protected Member Functions

void **ptrDetach** (void)\

### Protected Attributes

unsigned \* **ptrCount**\
 T \* **ptrObject**\

## Detailed Description

### template\<class T\>

class ost::Pointer\< T \>" Used to create and manage referece counted pointers.

**Author**

David Sugar dyfet@gnutelephony.org

reference counted pointer template.

## Constructor & Destructor Documentation

### template\<class T \> ost::Pointer\< T \>::Pointer (T \* ptr = `NULL`)` [inline]`, ` [explicit]`

References ost::Pointer\< T \>::ptrCount.

### template\<class T \> ost::Pointer\< T \>::Pointer (const Pointer\< T \> & ref)` [inline]`

References ost::Pointer\< T \>::ptrCount, and ost::Pointer\< T \>::ptrObject.

### template\<class T \> virtual ost::Pointer\< T \>::~Pointer ()` [inline]`, ` [virtual]`

References ost::Pointer\< T \>::ptrDetach().

## Member Function Documentation

### template\<class T \> T\* ost::Pointer\< T \>::getObject (void) const` [inline]`

References ost::Pointer\< T \>::ptrObject.

### template\<class T \> bool ost::Pointer\< T \>::operator! () const` [inline]`

References ost::Pointer\< T \>::ptrCount.

### template\<class T \> T& ost::Pointer\< T \>::operator\* () const` [inline]`

References ost::Pointer\< T \>::ptrObject.

### template\<class T \> int ost::Pointer\< T \>::operator++ () const` [inline]`

### template\<class T \> int ost::Pointer\< T \>::operator-- () const` [inline]`

References ost::Pointer\< T \>::ptrCount.

### template\<class T \> T\* ost::Pointer\< T \>::operator-\> () const` [inline]`

References ost::Pointer\< T \>::ptrObject.

### template\<class T \> Pointer& ost::Pointer\< T \>::operator= (const Pointer\< T \> & ref)` [inline]`

References ost::Pointer\< T \>::ptrCount, ost::Pointer\< T \>::ptrDetach(), and ost::Pointer\< T \>::ptrObject.

### template\<class T \> void ost::Pointer\< T \>::ptrDetach (void)` [inline]`, ` [protected]`

References ost::Pointer\< T \>::ptrCount, and ost::Pointer\< T \>::ptrObject.

Referenced by ost::Pointer\< T \>::operator=(), and ost::Pointer\< T \>::~Pointer().

## Member Data Documentation

### template\<class T \> unsigned\* ost::Pointer\< T \>::ptrCount` [protected]`

Referenced by ost::Pointer\< T \>::operator!(), ost::Pointer\< T \>::operator--(), ost::Pointer\< T \>::operator=(), ost::Pointer\< T \>::Pointer(), and ost::Pointer\< T \>::ptrDetach().

### template\<class T \> T\* ost::Pointer\< T \>::ptrObject` [protected]`

Referenced by ost::Pointer\< T \>::getObject(), ost::Pointer\< T \>::operator\*(), ost::Pointer\< T \>::operator-\>(), ost::Pointer\< T \>::operator=(), ost::Pointer\< T \>::Pointer(), and ost::Pointer\< T \>::ptrDetach().

## Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.
