|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-D96EE819-DEA9-5B1A-AA94-4AC065C73697" xml:lang="en"><title>Array |
|
13 of same length elements, segmented buffer</title><shortdesc>Describes how elements of the same length are organised in the |
|
14 array buffer.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
15 <p>This is a <codeph>CArrayFixSeg<class T></codeph> object whose elements:</p> |
|
16 <ul> |
|
17 <li id="GUID-F196DE9B-A500-5421-A5EF-679ACB613297"><p>all have the same length</p> </li> |
|
18 <li id="GUID-999B1623-7FFF-5F48-91BD-202BE4E46669"><p>are contained within |
|
19 a segmented array buffer; the elements are logically contiguous but are physically |
|
20 contiguous only within a segment.</p> </li> |
|
21 </ul> |
|
22 <p>A segmented buffer is implemented as a doubly linked list of equally sized |
|
23 cells allocated from the heap and is always extended by allocating a new segment |
|
24 and inserting it into the appropriate place in the list. A segmented array |
|
25 buffer is implemented using a <codeph>CBufSeg</codeph> object.</p> |
|
26 <p>The following diagram illustrates how elements are organised within the |
|
27 array buffer:</p> |
|
28 <fig id="GUID-D3DF754C-E97D-5408-8229-8AD4E262981E"> |
|
29 <image href="GUID-1C14ECA4-057B-5591-A8E3-F7DB0325E5AE_d0e307592_href.png" placement="inline"/> |
|
30 </fig> |
|
31 <p>This kind of array is suitable for large arrays with a high |
|
32 turnover of elements.</p> |
|
33 <p>This class is immediately derived from the abstract template base class <codeph>CArrayFix<class T></codeph> which |
|
34 is itself derived from the abstract non-templated base class <codeph>CArrayFixBase</codeph>. </p> |
|
35 <section id="GUID-614C4B48-2523-4020-AFD7-5E9C5076537B"><title>See also</title> <p><xref href="GUID-112AAFA5-B4C9-5B62-A106-FB5097C13A0E.dita">Using |
|
36 Dynamic Buffers</xref>.</p> </section> |
|
37 </conbody></concept> |