MPD 0.20.6

- Main Page
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Static Public Member Functions | Data Fields | Protected Member Functions | Static Protected Member Functions
Page Class Reference

A dynamically allocated buffer which keeps track of its reference count. More...

`#include <Page.hxx>`

## Public Member Functions
void | Ref ()
| Increases the reference counter. More...
bool | Unref ()
| Decreases the reference counter. More...

## Static Public Member Functions
static Page * | Copy (const void *data, size_t size)
| Creates a new #page object, and copies data from the specified buffer. More...
static Page * | Concat (const Page &a, const Page &b)
| Concatenates two pages to a new page. More...

## Data Fields
const size_t | size
| The size of this buffer in bytes. More...
unsigned char | data [sizeof(long)]
| Dynamic array containing the buffer data. More...

## Protected Member Functions
| Page (size_t _size)
| ~Page ()=default

## Static Protected Member Functions
static Page * | Create (size_t size)
| Allocates a new Page object, without filling the data element. More...

## Detailed Description

A dynamically allocated buffer which keeps track of its reference count.

This is useful for passing buffers around, when several instances hold references to one buffer.

Definition at line 37 of file Page.hxx.

## Constructor & Destructor Documentation

Page::Page | ( | size_t | _size | ) |
| inline protected

Definition at line 58 of file Page.hxx.

Page::~Page | ( |  | ) |
| protected default

## Member Function Documentation

static Page* Page::Concat | ( | const Page & | a,
|  | const Page & | b
| ) |  |
| static

Concatenates two pages to a new page.

Parameters

  a | the first page
  b | the second page, which is appended

static Page* Page::Copy | ( | const void * | data,
|  | size_t | size
| ) |  |
| static

Creates a new #page object, and copies data from the specified buffer.

It is initialized with a reference count of 1.

Parameters

  data | the source buffer
  size | the size of the source buffer

static Page* Page::Create | ( | size_t | size | ) |
| static protected

Allocates a new Page object, without filling the data element.

void Page::Ref | ( |  | ) |
| inline

Increases the reference counter.

Definition at line 89 of file Page.hxx.

bool Page::Unref | ( |  | ) |

Decreases the reference counter.

If it reaches zero, the #page is freed.

Returns
  true if the #page has been freed

## Field Documentation

unsigned char Page::data[sizeof(long)]

Dynamic array containing the buffer data.

Definition at line 55 of file Page.hxx.

const size_t Page::size

The size of this buffer in bytes.

Definition at line 50 of file Page.hxx.

The documentation for this class was generated from the following file:

- output/plugins/httpd/Page.hxx