Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-C549EC51-D81F-5AEC-80EA-EF83B2D9AF51" xml:lang="en"><title>Structure
of a heap</title><shortdesc>A heap consists of two lists of cells; the list of allocated cells
and the list of free cells.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>A heap simply consists of two lists of cells; one is the list of allocated
cells and the other the list of free cells. Each list is anchored in the heap
object.</p>
<p>A cell consists of a cell header followed by the body of the cell itself.
The body of the cell is the area of memory which is considered allocated.</p>
<p>The cell header is a struct of type <codeph>RHeap::SCell</codeph> defined
as part of the <codeph>RHeap</codeph> class in <filepath>e32std.h</filepath>.</p>
<p>The following diagram shows a typical mix of free and allocated cells.</p>
<fig id="GUID-A066C7F2-B6E9-5F64-8A00-F2AC5D16B585">
<title>Example of the allocated and free cells in a heap</title>
<image href="GUID-4B4110D9-0CAA-5CA1-A994-9DAF501119E4_d0e245253_href.png" placement="inline"/>
</fig>
</conbody></concept>