4 #ifndef INCLUDED_CPPU_UNOTYPE_HXX
5 #define INCLUDED_CPPU_UNOTYPE_HXX
11 #if defined LIBO_INTERNAL_ONLY
12 #include <type_traits>
19 namespace com {
namespace sun {
namespace star {
namespace uno {
27 namespace rtl {
class OUString; }
54 struct UnoUnsignedShortType;
88 return *
reinterpret_cast< css::uno::Type
const *
>(tdr);
91 inline css::uno::Type
const &
101 namespace cppu {
namespace detail {
103 inline css::uno::Type
const &
108 inline css::uno::Type
const &
113 inline css::uno::Type
const &
118 inline css::uno::Type
const &
123 inline css::uno::Type
const &
128 inline css::uno::Type
const &
130 SAL_UNUSED_PARAMETER ::cppu::UnoUnsignedShortType
const *)
136 #if defined LIBO_INTERNAL_ONLY
138 inline css::uno::Type
const &
144 inline css::uno::Type
const &
149 inline css::uno::Type
const &
155 inline css::uno::Type
const &
160 inline css::uno::Type
const &
166 inline css::uno::Type
const &
171 inline css::uno::Type
const &
176 inline css::uno::Type
const &
181 #if defined LIBO_INTERNAL_ONLY
183 inline css::uno::Type
const &
189 inline css::uno::Type
const &
194 inline css::uno::Type
const &
200 inline css::uno::Type
const &
206 template<
typename T >
inline css::uno::Type
const &
208 SAL_UNUSED_PARAMETER ::cppu::UnoSequenceType< T >
const *)
219 template<
typename T >
inline css::uno::Type
const &
239 template<
typename T >
inline css::uno::Type
const &
243 return ::cppu::UnoType< T >::get();
270 template<
typename T >
class UnoType {
272 static css::uno::Type
const &
get() {
273 using namespace ::cppu::detail;
274 #if defined LIBO_INTERNAL_ONLY
275 typedef typename std::remove_reference<T>::type T1;
285 ~
UnoType() SAL_DELETED_FUNCTION;
286 void operator =(
UnoType &) SAL_DELETED_FUNCTION;
289 template<> css::uno::Type inline const &
UnoType<
void>::
get() {
303 template<
typename T >
inline css::uno::Type
const &
305 return ::cppu::UnoType< T >::get();
318 inline css::uno::Type
const &
320 return ::cppu::UnoType< ::cppu::UnoUnsignedShortType >::get();
333 template<
typename T >
inline css::uno::Type
const &
350 template<
typename T >
inline css::uno::Type
const &
352 return ::cppu::UnoType< T >::get();
366 inline css::uno::Type
const &
368 return ::cppu::UnoType< ::cppu::UnoCharType >::get();
382 template<
typename T >
inline css::uno::Type
const &
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.
static css::uno::Type const & get()
Definition: unotype.hxx:272
unsigned char sal_Bool
Definition: types.h:18
type class of void
Definition: typeclass.h:12
type class of long
Definition: typeclass.h:24
type class of string
Definition: typeclass.h:36
type class of exception
Definition: typeclass.h:53
Template C++ class representing an IDL sequence.
Definition: unotype.hxx:24
struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescriptionReference typelib_TypeDescriptionReference
Holds a weak reference to a type description.
type class of double
Definition: typeclass.h:34
type class of char
Definition: typeclass.h:14
type class of unsigned long
Definition: typeclass.h:26
type class of short
Definition: typeclass.h:20
css::uno::Type const & getTypeFromTypeDescriptionReference(::typelib_TypeDescriptionReference *const *tdr)
Definition: unotype.hxx:85
sal_uInt16 sal_Unicode
Definition: types.h:103
type class of any
Definition: typeclass.h:40
#define SAL_UNUSED_PARAMETER
Annotate unused but required C++ function parameters.
Definition: types.h:548
Get the css::uno::Type instance representing a certain UNO type.
Definition: unotype.hxx:31
type class of interface
Definition: typeclass.h:62
css::uno::Type const & getTypeFromTypeClass(::typelib_TypeClass tc)
Definition: unotype.hxx:92
type class of boolean
Definition: typeclass.h:16
type class of hyper
Definition: typeclass.h:28
type class of float
Definition: typeclass.h:32
type class of type
Definition: typeclass.h:38
CPPU_DLLPUBLIC void typelib_static_sequence_type_init(typelib_TypeDescriptionReference **ppRef, typelib_TypeDescriptionReference *pElementType) SAL_THROW_EXTERN_C()
Inits static sequence type reference.
A unique C++ type template representing the UNO sequence types in cppu::UnoType.
Definition: unotype.hxx:81
Template reference class for interface type derived from BaseReference.
Definition: unotype.hxx:23
css::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER::cppu::UnoVoidType const *)
Definition: unotype.hxx:104
type class of byte
Definition: typeclass.h:18
signed char sal_Int8
Definition: types.h:23
css::uno::Type const & getTypeFavourUnsigned(SAL_UNUSED_PARAMETER T const *)
A working replacement for getCppuType (see there).
Definition: unotype.hxx:304
type class of unsigned hyper
Definition: typeclass.h:30
::com::sun::star::uno::Type const & getTypeFavourChar(SAL_UNUSED_PARAMETER::com::sun::star::uno::Sequence< T > const *)
Definition: Sequence.hxx:323
type class of unsigned short
Definition: typeclass.h:22
enum _typelib_TypeClass typelib_TypeClass
This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:358