Symbian3/SDK/Source/GUID-D96EE819-DEA9-5B1A-AA94-4AC065C73697.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?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-D96EE819-DEA9-5B1A-AA94-4AC065C73697" xml:lang="en"><title>Array
of same length elements, segmented buffer</title><shortdesc>Describes how elements of the same length are organised in the
array buffer.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>This is a <codeph>CArrayFixSeg&lt;class T&gt;</codeph> object whose elements:</p>
<ul>
<li id="GUID-F196DE9B-A500-5421-A5EF-679ACB613297"><p>all have the same length</p> </li>
<li id="GUID-999B1623-7FFF-5F48-91BD-202BE4E46669"><p>are contained within
a segmented array buffer; the elements are logically contiguous but are physically
contiguous only within a segment.</p> </li>
</ul>
<p>A segmented buffer is implemented as a doubly linked list of equally sized
cells allocated from the heap and is always extended by allocating a new segment
and inserting it into the appropriate place in the list. A segmented array
buffer is implemented using a <codeph>CBufSeg</codeph> object.</p>
<p>The following diagram illustrates how elements are organised within the
array buffer:</p>
<fig id="GUID-D3DF754C-E97D-5408-8229-8AD4E262981E">
<image href="GUID-1C14ECA4-057B-5591-A8E3-F7DB0325E5AE_d0e215643_href.png" placement="inline"/>
</fig>
<p>This kind of array is suitable for large arrays with a high
turnover of elements.</p>
<p>This class is immediately derived from the abstract template base class <codeph>CArrayFix&lt;class T&gt;</codeph> which
is itself derived from the abstract non-templated base class <codeph>CArrayFixBase</codeph>. </p>
<section id="GUID-614C4B48-2523-4020-AFD7-5E9C5076537B"><title>See also</title> <p><xref href="GUID-112AAFA5-B4C9-5B62-A106-FB5097C13A0E.dita">Using
Dynamic Buffers</xref>.</p> </section>
</conbody></concept>