How to represent general binary data

Construct an 8 bit variant descriptor to represent general binary data.

The kind of data represented or contained by descriptors is not restricted to text. Descriptors can also handle general binary data.

Binary data should always be treated as 8 bit data regardless of the build.

For example, starting with an area in memory initialised with binary data as follows:

      
       
      
      TUint8 data[6] = {0x00,0x01,0x02,0xAD,0xAE,0xAF};
     

construct a modifiable buffer descriptor using the default constructor as follows:

      
       
      
      TBuf8<32> buffer;
     

The following code fragment puts the binary data into the descriptor and appends a number of single byte values. The length of the buffer is 9, the maximum length is 32 and the size is 9 regardless of the build.

      
       
      
      TInt index;
TInt counter;
     

Text and general binary data can be freely mixed and the following code is acceptable:

      
       
      
      buffer.Append('A');
buffer.Append('B');
buffer.Append(0x11);
     

Note that fixed length C++ arrays such as data above can be packaged inside a thin wrapper class, a TFixedArray<class T,TInt S> type, to guarantee that all array accesses are safe.