---
name: "shevek_refbase"
section: "3"
platform: "linux"
package: "libshevek-doc"
version: "1.4-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/shevek_refbase"
---

# shevek\_refbase(3)

Base class for classes which want reference counting through Glib::RefPtr.

## NAME

shevek::refbase -

Base class for classes which want reference counting through Glib::RefPtr.

## SYNOPSIS

`#include <refbase.hh>`

Inherited by **shevek::avahi**, **shevek::avahi::browser**, **shevek::closure**, **shevek::dl**, **shevek::fd**` [virtual]`, **shevek::process**, **shevek::server\< client, serverdata \>**` [virtual]`, **shevek::server\< client, serverdata \>::connection**` [virtual]`, and **shevek::shm\< T \>**.

### Public Member Functions

template\<typename \_T \> Glib::RefPtr\< \_T \> **cast\_dynamic** ()\
 *Identical to GLib::RefPtr \<\>::cast\_dynamic, but nicer to type.*

### Protected Member Functions

**refbase** ()\
 *Constructor, increments reference count.*  virtual **~refbase** ()\
 *Destructor, decrements reference count and destroys the object if it reaches 0.*  template\<typename T \> Glib::RefPtr\< T \> **refptr\_this** ()\
 *Get a RefPtr to this, protected because only members should need it.*

### Friends

template\<typename T \> class **Glib::RefPtr**\

## Detailed Description

Base class for classes which want reference counting through Glib::RefPtr.

## Member Function Documentation

### template\<typename T \> Glib::RefPtr\< T \> shevek::refbase::refptr\_this ()` [protected]`

Get a RefPtr to this, protected because only members should need it. This function allows member functions, which have a pointer to the object, but not a Glib::RefPtr, to pass a RefPtr to others.

## Author

Generated automatically by Doxygen for libshevek from the source code.
