24 #ifndef INCLUDED_CPPU_UNOTYPE_HXX
25 #define INCLUDED_CPPU_UNOTYPE_HXX
31 #if defined LIBO_INTERNAL_ONLY
32 #include <type_traits>
39 namespace com {
namespace sun {
namespace star {
namespace uno {
47 namespace rtl {
class OUString; }
74 struct UnoUnsignedShortType;
108 return *
reinterpret_cast< css::uno::Type
const *
>(tdr);
111 inline css::uno::Type
const &
121 namespace cppu {
namespace detail {
123 inline css::uno::Type
const &
128 inline css::uno::Type
const &
133 inline css::uno::Type
const &
138 inline css::uno::Type
const &
143 inline css::uno::Type
const &
148 inline css::uno::Type
const &
150 SAL_UNUSED_PARAMETER ::cppu::UnoUnsignedShortType
const *)
156 #if defined LIBO_INTERNAL_ONLY
158 inline css::uno::Type
const &
164 inline css::uno::Type
const &
169 inline css::uno::Type
const &
175 inline css::uno::Type
const &
180 inline css::uno::Type
const &
186 inline css::uno::Type
const &
191 inline css::uno::Type
const &
196 inline css::uno::Type
const &
201 #if defined LIBO_INTERNAL_ONLY
203 inline css::uno::Type
const &
209 inline css::uno::Type
const &
214 inline css::uno::Type
const &
220 inline css::uno::Type
const &
226 template<
typename T >
inline css::uno::Type
const &
228 SAL_UNUSED_PARAMETER ::cppu::UnoSequenceType< T >
const *)
239 template<
typename T >
inline css::uno::Type
const &
259 template<
typename T >
inline css::uno::Type
const &
263 return ::cppu::UnoType< T >::get();
290 template<
typename T >
class UnoType {
292 static css::uno::Type
const &
get() {
293 using namespace ::cppu::detail;
294 #if defined LIBO_INTERNAL_ONLY
295 typedef typename std::remove_reference<T>::type T1;
305 ~
UnoType() SAL_DELETED_FUNCTION;
306 void operator =(
UnoType &) SAL_DELETED_FUNCTION;
309 template<> css::uno::Type inline const &
UnoType<
void>::
get() {
323 template<
typename T >
inline css::uno::Type
const &
325 return ::cppu::UnoType< T >::get();
338 inline css::uno::Type
const &
340 return ::cppu::UnoType< ::cppu::UnoUnsignedShortType >::get();
353 template<
typename T >
inline css::uno::Type
const &
370 template<
typename T >
inline css::uno::Type
const &
372 return ::cppu::UnoType< T >::get();
386 inline css::uno::Type
const &
388 return ::cppu::UnoType< ::cppu::UnoCharType >::get();
402 template<
typename T >
inline css::uno::Type
const &
type class of exception
Definition: typeclass.h:73
type class of unsigned long
Definition: typeclass.h:46
sal_uInt16 sal_Unicode
Definition: types.h:123
type class of any
Definition: typeclass.h:60
type class of unsigned short
Definition: typeclass.h:42
static css::uno::Type const & get()
Definition: unotype.hxx:292
type class of string
Definition: typeclass.h:56
type class of void
Definition: typeclass.h:32
type class of char
Definition: typeclass.h:34
type class of double
Definition: typeclass.h:54
CPPU_DLLPUBLIC void typelib_static_sequence_type_init(typelib_TypeDescriptionReference **ppRef, typelib_TypeDescriptionReference *pElementType) SAL_THROW_EXTERN_C()
Inits static sequence type reference.
Template C++ class representing an IDL sequence.
Definition: unotype.hxx:44
CPPU_DLLPUBLIC typelib_TypeDescriptionReference ** typelib_static_type_getByTypeClass(typelib_TypeClass eTypeClass) SAL_THROW_EXTERN_C()
Gets static type reference of standard types by type class.
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:378
signed char sal_Int8
Definition: types.h:43
struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescriptionReference typelib_TypeDescriptionReference
Holds a weak reference to a type description.
css::uno::Type const & getTypeFromTypeDescriptionReference(::typelib_TypeDescriptionReference *const *tdr)
Definition: unotype.hxx:105
type class of interface
Definition: typeclass.h:82
type class of long
Definition: typeclass.h:44
type class of unsigned hyper
Definition: typeclass.h:50
Get the css::uno::Type instance representing a certain UNO type.
Definition: unotype.hxx:51
css::uno::Type const & getTypeFromTypeClass(::typelib_TypeClass tc)
Definition: unotype.hxx:112
type class of type
Definition: typeclass.h:58
type class of hyper
Definition: typeclass.h:48
type class of boolean
Definition: typeclass.h:36
type class of float
Definition: typeclass.h:52
::com::sun::star::uno::Type const & getTypeFavourChar(SAL_UNUSED_PARAMETER::com::sun::star::uno::Sequence< T > const *)
Definition: Sequence.hxx:343
unsigned char sal_Bool
Definition: types.h:38
#define SAL_UNUSED_PARAMETER
Annotate unused but required C++ function parameters.
Definition: types.h:568
A unique C++ type template representing the UNO sequence types in cppu::UnoType.
Definition: unotype.hxx:101
Template reference class for interface type derived from BaseReference.
Definition: unotype.hxx:43
css::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER::cppu::UnoVoidType const *)
Definition: unotype.hxx:124
type class of short
Definition: typeclass.h:40
css::uno::Type const & getTypeFavourUnsigned(SAL_UNUSED_PARAMETER T const *)
A working replacement for getCppuType (see there).
Definition: unotype.hxx:324
enum _typelib_TypeClass typelib_TypeClass
This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
type class of byte
Definition: typeclass.h:38