# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KVMAllocator Class Reference

KVMAllocator is a virtual memory allocator. More...

`#include <kvmallocator.h>`

List of all members.

## Public Member Functions

struct | KVMAllocator ()
| ~KVMAllocator ()
Block * | allocate (size_t _size)
void | free (Block *block)
bool | copyBlock (void *dest, Block *src, int _offset=0, size_t length=0)
void | copy (void *dest, Block *src, int _offset=0, size_t length=0) KDE_DEPRECATED
bool | copyBlock (Block *dest, void *src, int _offset=0, size_t length=0)
void | copy (Block *dest, void *src, int _offset=0, size_t length=0) KDE_DEPRECATED
void * | map (Block *block)
void | unmap (Block *block)

## Detailed Description

KVMAllocator is a virtual memory allocator.

Memory is allocated block-wise in a tmp file.

Author:
  Waldo Bastian <bastian@kde.org>

Definition at line 39 of file kvmallocator.h.

## Constructor & Destructor Documentation

KVMAllocator::KVMAllocator | ( |  | ) |

| Create a KVMAllocator. Definition at line 63 of file kvmallocator.cpp.

KVMAllocator::~KVMAllocator | ( |  | ) |

| Destruct the KVMAllocator and release all memory. Definition at line 73 of file kvmallocator.cpp.

## Member Function Documentation

KVMAllocator::Block * KVMAllocator::allocate | ( | size_t | _size | ) |

Allocate a virtual memory block.

Parameters:

  | _size | Size in bytes of the memory block.

Returns:
  the allocated memory block

Definition at line 84 of file kvmallocator.cpp.

References QMap::begin(), QMap::end(), endl(), QMap::replace(), and QMap::size().

void KVMAllocator::free | ( | Block * | block | ) |

Free a virtual memory block.

Parameters:

  | block | the block to free

Definition at line 132 of file kvmallocator.cpp.

References QMap::end(), endl(), QMap::find(), QMap::remove(), and QMap::replace().

bool KVMAllocator::copyBlock | ( | void * | dest,
|  | Block * | src,
|  | int | _offset = `0`,
|  | size_t | length = `0`
| ) |

Copy `length` bytes from `_offset` in the virtual memory block `src` to normal memory at address *dest.

Parameters:

  | dest | the destination of the data
  | src | the source block
  | _offset | the offset in the source block
  | length | the length of the data to copy

Returns:
  true on success, false on failure, see errno for details

Since:
  3.2

Definition at line 193 of file kvmallocator.cpp.

Referenced by copy().

void KVMAllocator::copy | ( | void * | dest,
|  | Block * | src,
|  | int | _offset = `0`,
|  | size_t | length = `0`
| ) |

Copy data from a virtual memory block to normal memory.

Deprecated:

See also:
  copyBlock

Definition at line 187 of file kvmallocator.cpp.

References copyBlock().

bool KVMAllocator::copyBlock | ( | Block * | dest,
|  | void * | src,
|  | int | _offset = `0`,
|  | size_t | length = `0`
| ) |

Copy `length` bytes from normal memory at address `src` to `_offset` in the virtual memory block `dest`.

Parameters:

  | dest | the block to copy the data to
  | src | the source location of the data
  | _offset | the offset in the destination block
  | length | the length of the data to copy

Returns:
  true on success, false on failure, see errno for details

Since:
  3.2

Definition at line 229 of file kvmallocator.cpp.

void KVMAllocator::copy | ( | Block * | dest,
|  | void * | src,
|  | int | _offset = `0`,
|  | size_t | length = `0`
| ) |

Copy data from normal memory to a virtual memory block.

Deprecated:

See also:
  copyBlock

Definition at line 223 of file kvmallocator.cpp.

References copyBlock().

void * KVMAllocator::map | ( | Block * | block | ) |

Map a virtual memory block in memory.

Parameters:

  | block | the block to map

Definition at line 253 of file kvmallocator.cpp.

void KVMAllocator::unmap | ( | Block * | block | ) |

Unmap a virtual memory block.

Parameters:

  | block | the block to unmap

Definition at line 268 of file kvmallocator.cpp.

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

- kvmallocator.h
- kvmallocator.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:19:12 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003