diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-2DDAAD1C-D9EB-5741-B6AE-2383646E0EDB.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-2DDAAD1C-D9EB-5741-B6AE-2383646E0EDB.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,70 @@ + + + + + +Pointer +descriptorsDescribes non-modifiable pointer descriptors and modifiable pointer +descriptors. +

A pointer descriptor represents data which can live in ROM or RAM and this +location is separate from the pointer descriptor object itself.

+

A pointer descriptor is an instance of a class that encapsulates a pointer +to the location of the data.

+

A pointer descriptor comes in two forms:

+ +
Non-modifiable pointer descriptor

The data represented +by a non-modifiable pointer descriptor can be accessed, but not changed, through +this descriptor.

Data is accessed through functions provided by the +base class.

A non-modifiable pointer descriptor is supplied in two +variants:

    +
  • the 16 bit variant, +a TPtrC16, for representing Unicode strings.

  • +
  • the 8 bit variant, a TPtrC8, +for representing non-Unicode strings and binary data.

  • +

There is also a build independent type, TPtrC. This +is the type which is most commonly used in program code; the appropriate variant +is selected at build time.

An explicit 8 bit variant is chosen for +binary data. The explicit 16 bit variant is rarely used.

The base +class, TDesC, contains a data member which holds the length +of the data. The following drawing shows the layout of a TPtrC object +for a string of five characters representing the English word "Hello".

+ +

Non-modifiable pointer descriptor

+
+
Modifiable pointer descriptor

The data represented +by a modifiable pointer descriptor can be both accessed and changed through +this descriptor.

The length of the data can vary between zero and +the maximum length. The maximum length of the descriptor is set by the constructor. +When the length of the data is less than the maximum, a portion of the data +area represented by the descriptor is unused.

Data is accessed and +modified through functions provided by the base classes.

A modifiable +pointer descriptor is supplied in two variants:

    +
  • the 16 bit variant, +a TPtr16, for representing Unicode strings.

  • +
  • the 8 bit variant, a TPtr8, +for representing non-Unicode strings and binary data.

  • +

There is also a build independent type, TPtr. This +is the type which is most commonly used in program code; the appropriate variant +is selected at build time.

An explicit 8 bit variant is chosen for +binary data. The explicit 16 bit variant is rarely used.

The base +class TDesC, contains a data member that holds the length +of the data. The base class TDes, contains a data member +that holds the maximum length of the data. The following drawing shows the +layout of a TPtr object for a string of five characters representing +the English word "Hello". The maximum length to be represented by the descriptor +is 12.

+ +

Modifiable pointer descriptor

+
+
\ No newline at end of file