UDK 3.2.7 C/C++ API Reference
Public Member Functions
rtl::ByteSequence Class Reference

C++ class representing a SAL byte sequence. More...

#include <byteseq.h>

List of all members.

Public Member Functions

 ByteSequence () throw ()
 Default constructor: Creates an empty sequence.
 ByteSequence (const ByteSequence &rSeq) throw ()
 Copy constructor: Creates a copy of given sequence.
 ByteSequence (sal_Sequence *pSequence) throw ()
 Copy constructor Creates a copy from the C-Handle.
 ByteSequence (const sal_Int8 *pElements, sal_Int32 len)
 Constructor: Creates a copy of given data bytes.
 ByteSequence (sal_Int32 len)
 Constructor: Creates sequence of given length and initializes all bytes to 0.
 ByteSequence (sal_Int32 len, enum __ByteSequence_NoDefault nodefault)
 Constructor: Creates sequence of given length and does NOT initialize data.
 ByteSequence (sal_Sequence *pSequence, enum __ByteSequence_NoAcquire noacquire) throw ()
 Constructor: Creates a sequence from a C-Handle without acquiring the handle, thus taking over owenership.
 ~ByteSequence () throw ()
 Destructor: Releases sequence handle.
ByteSequenceoperator= (const ByteSequence &rSeq) throw ()
 Assignment operator: Acquires given sequence handle and releases a previously set handle.
sal_Int32 getLength () const throw ()
 Gets the length of sequence.
const sal_Int8getConstArray () const throw ()
 Gets a pointer to byte array for READING.
sal_Int8getArray ()
 Gets a pointer to elements array for READING AND WRITING.
sal_Int8operator[] (sal_Int32 nIndex)
 Non-const index operator: Obtains a reference to byte indexed at given position.
const sal_Int8operator[] (sal_Int32 nIndex) const throw ()
 Const index operator: Obtains a reference to byte indexed at given position.
sal_Bool operator== (const ByteSequence &rSeq) const throw ()
 Equality operator: Compares two sequences.
sal_Bool operator!= (const ByteSequence &rSeq) const throw ()
 Unequality operator: Compares two sequences.
void realloc (sal_Int32 nSize)
 Reallocates sequence to new length.
sal_SequencegetHandle () const throw ()
 Returns the UNnacquired C handle of the sequence.
sal_Sequenceget () const throw ()
 Returns the UNnacquired C handle of the sequence (for compatibility reasons)

Detailed Description

C++ class representing a SAL byte sequence.

C++ Sequences are reference counted and shared, so the sequence keeps a handle to its data. To keep value semantics, copies are only generated if the sequence is to be modified (new handle).


Constructor & Destructor Documentation

rtl::ByteSequence::ByteSequence ( ) throw () [inline]

Default constructor: Creates an empty sequence.

rtl::ByteSequence::ByteSequence ( const ByteSequence rSeq) throw () [inline]

Copy constructor: Creates a copy of given sequence.

Parameters:
rSeqanother byte sequence
rtl::ByteSequence::ByteSequence ( sal_Sequence pSequence) throw () [inline]

Copy constructor Creates a copy from the C-Handle.

Parameters:
pSequenceanother byte sequence handle
rtl::ByteSequence::ByteSequence ( const sal_Int8 pElements,
sal_Int32  len 
) [inline]

Constructor: Creates a copy of given data bytes.

Parameters:
pElementsan array of bytes
lennumber of bytes
rtl::ByteSequence::ByteSequence ( sal_Int32  len) [inline]

Constructor: Creates sequence of given length and initializes all bytes to 0.

Parameters:
leninitial sequence length
rtl::ByteSequence::ByteSequence ( sal_Int32  len,
enum __ByteSequence_NoDefault  nodefault 
) [inline]

Constructor: Creates sequence of given length and does NOT initialize data.

Use this ctor for performance optimization only.

Parameters:
leninitial sequence length
nodefaultdummy parameter forcing explicit BYTESEQ_NODEFAULT
rtl::ByteSequence::ByteSequence ( sal_Sequence pSequence,
enum __ByteSequence_NoAcquire  noacquire 
) throw () [inline]

Constructor: Creates a sequence from a C-Handle without acquiring the handle, thus taking over owenership.

Eitherway the handle is release by the destructor. This ctor is useful, when working with a c-interface (it safes a pair of acquire and release call and is thus a performance optimization only).

Parameters:
pSequencesequence handle to be taken over
noacquiredummy parameter forcing explicit BYTESEQ_NOACQUIRE
rtl::ByteSequence::~ByteSequence ( ) throw () [inline]

Destructor: Releases sequence handle.

Last handle will free memory.


Member Function Documentation

sal_Sequence* rtl::ByteSequence::get ( ) const throw () [inline]

Returns the UNnacquired C handle of the sequence (for compatibility reasons)

Returns:
UNacquired handle of the sequence
sal_Int8 * rtl::ByteSequence::getArray ( ) [inline]

Gets a pointer to elements array for READING AND WRITING.

In general if the sequence has a handle acquired by other sequences (reference count > 1), then a new sequence is created copying all bytes to keep value semantics! If the sequence has a length of 0, then the returned pointer is undefined.

Returns:
pointer to elements array
const sal_Int8* rtl::ByteSequence::getConstArray ( ) const throw () [inline]

Gets a pointer to byte array for READING.

If the sequence has a length of 0, then the returned pointer is undefined.

Returns:
pointer to byte array
sal_Sequence* rtl::ByteSequence::getHandle ( ) const throw () [inline]

Returns the UNnacquired C handle of the sequence.

Returns:
UNacquired handle of the sequence
sal_Int32 rtl::ByteSequence::getLength ( ) const throw () [inline]

Gets the length of sequence.

Returns:
length of sequence
sal_Bool rtl::ByteSequence::operator!= ( const ByteSequence rSeq) const throw () [inline]

Unequality operator: Compares two sequences.

Parameters:
rSeqanother byte sequence (right side)
Returns:
false if both sequences are equal, true otherwise
ByteSequence & rtl::ByteSequence::operator= ( const ByteSequence rSeq) throw () [inline]

Assignment operator: Acquires given sequence handle and releases a previously set handle.

Parameters:
rSeqanother byte sequence
Returns:
this sequence
sal_Bool rtl::ByteSequence::operator== ( const ByteSequence rSeq) const throw () [inline]

Equality operator: Compares two sequences.

Parameters:
rSeqanother byte sequence (right side)
Returns:
true if both sequences are equal, false otherwise
const sal_Int8& rtl::ByteSequence::operator[] ( sal_Int32  nIndex) const throw () [inline]

Const index operator: Obtains a reference to byte indexed at given position.

The implementation does NOT check for array bounds!

Parameters:
nIndexindex
Returns:
const C++ reference to byte at element of indenx nIndex
sal_Int8 & rtl::ByteSequence::operator[] ( sal_Int32  nIndex) [inline]

Non-const index operator: Obtains a reference to byte indexed at given position.

In general if the sequence has a handle acquired by other sequences (reference count > 1), then a new sequence is created copying all bytes to keep value semantics!

Attention:
The implementation does NOT check for array bounds!
Parameters:
nIndexindex
Returns:
non-const C++ reference to element at index nIndex
void rtl::ByteSequence::realloc ( sal_Int32  nSize) [inline]

Reallocates sequence to new length.

If the sequence has a handle acquired by other sequences (reference count > 1), then the remaining elements are copied to a new sequence handle to keep value semantics!

Parameters:
nSizenew size of sequence

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines