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);
144#if defined LIBO_INTERNAL_ONLY
153 {
return _pSequence->nElements; }
161 {
return (_pSequence->nElements > 0); }
163#if defined LIBO_INTERNAL_ONLY
168 sal_uInt32 size()
const
169 { assert(getLength() >= 0);
return static_cast<sal_uInt32
>(getLength()); }
179 {
return reinterpret_cast< const E *
>( _pSequence->elements ); }
190 inline E * SAL_CALL getArray();
192#if !defined LIBO_INTERNAL_ONLY
206 inline E
const * begin()
const;
208#if !defined LIBO_INTERNAL_ONLY
222 inline E
const * end()
const;
226#if !defined LIBO_INTERNAL_ONLY
237 inline E & SAL_CALL operator [] ( sal_Int32 nIndex );
246 inline const E & SAL_CALL operator [] ( sal_Int32 nIndex )
const;
253 inline bool SAL_CALL operator == (
const Sequence & rSeq )
const;
260 inline bool SAL_CALL operator != (
const Sequence & rSeq )
const;
272 inline void SAL_CALL realloc( sal_Int32 nSize );
279 {
return _pSequence; }
281#if defined LIBO_INTERNAL_ONLY
303inline ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL
toUnoSequence(
304 const ::rtl::ByteSequence & rByteSequence );
325inline const ::
com::sun::star::uno::Type &
342inline const ::
com::sun::star::uno::Type &
356inline 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:390
const ::com::sun::star::uno::Type & getCppuSequenceType(const ::com::sun::star::uno::Type &rElementType)
Gets the meta type of IDL sequence.
Definition Sequence.hxx:376
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:229
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:178
sal_Int32 getLength() const
Gets length of the sequence.
Definition Sequence.h:152
uno_Sequence * get() const
Provides UNacquired sequence handle.
Definition Sequence.h:278
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:160
E ElementType
typedefs the element type of the sequence
Definition Sequence.h:88