UDK 3.2.7 C/C++ API Reference
|
C++ class representing a SAL byte sequence. More...
#include <byteseq.h>
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. | |
ByteSequence & | operator= (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_Int8 * | getConstArray () const throw () |
Gets a pointer to byte array for READING. | |
sal_Int8 * | getArray () |
Gets a pointer to elements array for READING AND WRITING. | |
sal_Int8 & | operator[] (sal_Int32 nIndex) |
Non-const index operator: Obtains a reference to byte indexed at given position. | |
const sal_Int8 & | operator[] (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_Sequence * | getHandle () const throw () |
Returns the UNnacquired C handle of the sequence. | |
sal_Sequence * | get () const throw () |
Returns the UNnacquired C handle of the sequence (for compatibility reasons) |
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).
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.
rSeq | another byte sequence |
rtl::ByteSequence::ByteSequence | ( | sal_Sequence * | pSequence | ) | throw () [inline] |
Copy constructor Creates a copy from the C-Handle.
pSequence | another byte sequence handle |
rtl::ByteSequence::ByteSequence | ( | const sal_Int8 * | pElements, |
sal_Int32 | len | ||
) | [inline] |
Constructor: Creates a copy of given data bytes.
pElements | an array of bytes |
len | number of bytes |
rtl::ByteSequence::ByteSequence | ( | sal_Int32 | len | ) | [inline] |
Constructor: Creates sequence of given length and initializes all bytes to 0.
len | initial 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.
len | initial sequence length |
nodefault | dummy 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).
pSequence | sequence handle to be taken over |
noacquire | dummy parameter forcing explicit BYTESEQ_NOACQUIRE |
rtl::ByteSequence::~ByteSequence | ( | ) | throw () [inline] |
Destructor: Releases sequence handle.
Last handle will free memory.
sal_Sequence* rtl::ByteSequence::get | ( | ) | const throw () [inline] |
Returns the UNnacquired C handle of the sequence (for compatibility reasons)
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.
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.
sal_Sequence* rtl::ByteSequence::getHandle | ( | ) | const throw () [inline] |
Returns the UNnacquired C handle of the sequence.
sal_Int32 rtl::ByteSequence::getLength | ( | ) | const throw () [inline] |
Gets the length of sequence.
sal_Bool rtl::ByteSequence::operator!= | ( | const ByteSequence & | rSeq | ) | const throw () [inline] |
Unequality operator: Compares two sequences.
rSeq | another byte sequence (right side) |
ByteSequence & rtl::ByteSequence::operator= | ( | const ByteSequence & | rSeq | ) | throw () [inline] |
Assignment operator: Acquires given sequence handle and releases a previously set handle.
rSeq | another byte sequence |
sal_Bool rtl::ByteSequence::operator== | ( | const ByteSequence & | rSeq | ) | const throw () [inline] |
Equality operator: Compares two sequences.
rSeq | another byte sequence (right side) |
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!
nIndex | index |
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!
nIndex | index |
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!
nSize | new size of sequence |