23#ifndef INCLUDED_COM_SUN_STAR_UNO_SEQUENCE_H
24#define INCLUDED_COM_SUN_STAR_UNO_SEQUENCE_H
33#if defined LIBO_INTERNAL_ONLY
35#include <initializer_list>
70 static void * SAL_CALL
operator new ( ::size_t nSize )
71 { return ::rtl_allocateMemory( nSize ); }
72 static void SAL_CALL
operator delete (
void * pMem )
74 static void * SAL_CALL
operator new ( ::size_t,
void * pMem )
76 static void SAL_CALL
operator delete (
void *,
void * )
113 inline Sequence(
const E * pElements, sal_Int32 len );
119 inline explicit Sequence( sal_Int32 len );
121#if defined LIBO_INTERNAL_ONLY
128 inline Sequence(std::initializer_list<E> init);
149 {
return _pSequence->nElements; }
157 {
return (_pSequence->nElements > 0); }
159#if defined LIBO_INTERNAL_ONLY
164 sal_uInt32 size()
const
165 { assert(getLength() >= 0);
return static_cast<sal_uInt32
>(getLength()); }
175 {
return reinterpret_cast< const E *
>( _pSequence->elements ); }
186 inline E * SAL_CALL getArray();
188#if !defined LIBO_INTERNAL_ONLY
202 inline E
const * begin()
const;
204#if !defined LIBO_INTERNAL_ONLY
218 inline E
const * end()
const;
222#if !defined LIBO_INTERNAL_ONLY
233 inline E & SAL_CALL operator [] ( sal_Int32 nIndex );
242 inline const E & SAL_CALL operator [] ( sal_Int32 nIndex )
const;
249 inline bool SAL_CALL operator == (
const Sequence & rSeq )
const;
256 inline bool SAL_CALL operator != (
const Sequence & rSeq )
const;
268 inline void SAL_CALL realloc( sal_Int32 nSize );
275 {
return _pSequence; }
277#if defined LIBO_INTERNAL_ONLY
299inline ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL
toUnoSequence(
300 const ::rtl::ByteSequence & rByteSequence );
321inline const ::
com::sun::star::uno::Type &
338inline const ::
com::sun::star::uno::Type &
352inline const ::
com::sun::star::uno::Type &
#define SAL_DEPRECATED(message)
Use as follows: SAL_DEPRECATED("Don't use, it's evil.") void doit(int nPara);.
Definition: types.h:474
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:378
__sal_NoAcquire
Definition: types.h:353
#define SAL_WARN_UNUSED
Annotate classes where a compiler should warn if an instance is unused.
Definition: types.h:587
SAL_DLLPUBLIC void rtl_freeMemory(void *Ptr) SAL_THROW_EXTERN_C()
Free memory.
struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescriptionReference typelib_TypeDescriptionReference
Holds a weak reference to a type description.
const ::com::sun::star::uno::Type & getCharSequenceCppuType()
Gets the meta type of IDL sequence< char >.
Definition: Sequence.hxx:383
const ::com::sun::star::uno::Type & getCppuSequenceType(const ::com::sun::star::uno::Type &rElementType)
Gets the meta type of IDL sequence.
Definition: Sequence.hxx:369
const ::com::sun::star::uno::Type & getCppuType()
Gets the meta type of an IDL type.
Definition: Type.hxx:218
Definition: bootstrap.hxx:34
inline ::com::sun::star::uno::Sequence< sal_Int8 > toUnoSequence(const ::rtl::ByteSequence &rByteSequence)
Creates a UNO byte sequence from a SAL byte sequence.
Definition: Sequence.hxx:222
Definition: Enterable.hxx:31
This is the binary specification of a SAL sequence.
Definition: types.h:304
Template C++ class representing an IDL sequence.
Definition: Sequence.h:61
const E * getConstArray() const
Gets a pointer to elements array for reading.
Definition: Sequence.h:174
sal_Int32 getLength() const
Gets length of the sequence.
Definition: Sequence.h:148
uno_Sequence * get() const
Provides UNacquired sequence handle.
Definition: Sequence.h:274
Sequence()
Default constructor: Creates an empty sequence.
Definition: Sequence.hxx:58
bool hasElements() const
Tests whether the sequence has elements, i.e.
Definition: Sequence.h:156
E ElementType
typedefs the element type of the sequence
Definition: Sequence.h:88