UDK 3.2.7 C/C++ API Reference
Public Types | Public Member Functions
com::sun::star::uno::Sequence< E > Class Template Reference

Template C++ class representing an IDL sequence. More...

#include <Sequence.h>

List of all members.

Public Types

typedef E ElementType
 typedefs the element type of the sequence

Public Member Functions

 Sequence () throw ()
 Default constructor: Creates an empty sequence.
 Sequence (const Sequence< E > &rSeq) throw ()
 Copy constructor: Creates a copy of given sequence.
 Sequence (uno_Sequence *pSequence, __sal_NoAcquire dummy) throw ()
 Constructor: Takes over ownership of given sequence.
 Sequence (const E *pElements, sal_Int32 len)
 Constructor: Creates a copy of given elements.
 Sequence (sal_Int32 len)
 Constructor: Creates a default constructed sequence of given length.
 ~Sequence () throw ()
 Destructor: Releases sequence handle.
Sequence< E > & operator= (const Sequence< E > &rSeq) throw ()
 Assignment operator: Acquires given sequence handle and releases previously set handle.
sal_Int32 getLength () const throw ()
 Gets length of the sequence.
sal_Bool hasElements () const throw ()
 Tests whether the sequence has elements, i.e.
const E * getConstArray () const throw ()
 Gets a pointer to elements array for reading.
E * getArray ()
 Gets a pointer to elements array for reading and writing.
E & operator[] (sal_Int32 nIndex)
 Non-const index operator: Obtains a reference to element indexed at given position.
const E & operator[] (sal_Int32 nIndex) const throw ()
 Const index operator: Obtains a reference to element indexed at given position.
sal_Bool operator== (const Sequence< E > &rSeq) const throw ()
 Equality operator: Compares two sequences.
sal_Bool operator!= (const Sequence< E > &rSeq) const throw ()
 Unequality operator: Compares two sequences.
void realloc (sal_Int32 nSize)
 Reallocates sequence to new length.
uno_Sequenceget () const throw ()
 Provides UNacquired sequence handle.

Detailed Description

template<class E>
class com::sun::star::uno::Sequence< E >

Template C++ class representing an IDL sequence.

Template argument is the sequence element type. 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).

Template Parameters:
Eelement type of sequence

Member Typedef Documentation

template<class E>
typedef E com::sun::star::uno::Sequence< E >::ElementType

typedefs the element type of the sequence


Constructor & Destructor Documentation

template<class E >
com::sun::star::uno::Sequence< E >::Sequence ( ) throw () [inline]

Default constructor: Creates an empty sequence.

template<class E>
com::sun::star::uno::Sequence< E >::Sequence ( const Sequence< E > &  rSeq) throw () [inline]

Copy constructor: Creates a copy of given sequence.

Parameters:
rSeqanother sequence of same type
template<class E>
com::sun::star::uno::Sequence< E >::Sequence ( uno_Sequence< E > *  pSequence,
__sal_NoAcquire  dummy 
) throw () [inline]

Constructor: Takes over ownership of given sequence.

Parameters:
pSequencea sequence
dummySAL_NO_ACQUIRE to force obvious distinction to other constructors
template<class E>
com::sun::star::uno::Sequence< E >::Sequence ( const E *  pElements,
sal_Int32  len 
) [inline]

Constructor: Creates a copy of given elements.

Parameters:
pElementsan array of elements
lenlength of array
template<class E>
com::sun::star::uno::Sequence< E >::Sequence ( sal_Int32  len) [inline, explicit]

Constructor: Creates a default constructed sequence of given length.

Parameters:
leninitial sequence length
template<class E >
com::sun::star::uno::Sequence< E >::~Sequence ( ) throw () [inline]

Destructor: Releases sequence handle.

Last handle will destruct elements and free memory.


Member Function Documentation

template<class E>
uno_Sequence* com::sun::star::uno::Sequence< E >::get ( ) const throw () [inline]

Provides UNacquired sequence handle.

Returns:
UNacquired sequence handle
template<class E >
E * com::sun::star::uno::Sequence< E >::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 copy constructing all elements to keep value semantics! If the sequence has a length of 0, then the returned pointer is undefined.

Returns:
pointer to elements array
template<class E>
const E* com::sun::star::uno::Sequence< E >::getConstArray ( ) const throw () [inline]

Gets a pointer to elements array for reading.

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

Returns:
pointer to elements array
template<class E>
sal_Int32 com::sun::star::uno::Sequence< E >::getLength ( ) const throw () [inline]

Gets length of the sequence.

Returns:
length of sequence
template<class E>
sal_Bool com::sun::star::uno::Sequence< E >::hasElements ( ) const throw () [inline]

Tests whether the sequence has elements, i.e.

elements count is greater than zero.

Returns:
true, if elements count is greater than zero
template<class E>
sal_Bool com::sun::star::uno::Sequence< E >::operator!= ( const Sequence< E > &  rSeq) const throw () [inline]

Unequality operator: Compares two sequences.

Parameters:
rSeqanother sequence of same type (right side)
Returns:
false if both sequences are equal, true otherwise
template<class E>
Sequence< E > & com::sun::star::uno::Sequence< E >::operator= ( const Sequence< E > &  rSeq) throw () [inline]

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

Parameters:
rSeqanother sequence of same type
Returns:
this sequence
template<class E>
sal_Bool com::sun::star::uno::Sequence< E >::operator== ( const Sequence< E > &  rSeq) const throw () [inline]

Equality operator: Compares two sequences.

Parameters:
rSeqanother sequence of same type (right side)
Returns:
true if both sequences are equal, false otherwise
template<class E >
const E & com::sun::star::uno::Sequence< E >::operator[] ( sal_Int32  nIndex) const throw () [inline]

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

The implementation does not check for array bounds!

Parameters:
nIndexindex
Returns:
const C++ reference to element
template<class E >
E & com::sun::star::uno::Sequence< E >::operator[] ( sal_Int32  nIndex) [inline]

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

The implementation does not check for array bounds! In general if the sequence has a handle acquired by other sequences (reference count > 1), then a new sequence is created copy constructing all elements to keep value semantics!

Parameters:
nIndexindex
Returns:
non-const C++ reference to element
template<class E >
void com::sun::star::uno::Sequence< E >::realloc ( sal_Int32  nSize) [inline]

Reallocates sequence to new length.

If the new length is smaller than the former, then upper elements will be destructed (and their memory freed). If the new length is greater than the former, then upper (new) elements are default constructed. If the sequence has a handle acquired by other sequences (reference count > 1), then the remaining elements are copy constructed 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