20 #ifndef INCLUDED_CPPU_UNOTYPE_HXX
21 #define INCLUDED_CPPU_UNOTYPE_HXX
25 #if defined LIBO_INTERNAL_ONLY
26 #include <type_traits>
33 namespace com {
namespace sun {
namespace star {
namespace uno {
41 namespace rtl {
class OUString; }
68 struct UnoUnsignedShortType;
105 inline ::com::sun::star::uno::Type
const &
115 namespace cppu {
namespace detail {
117 inline ::com::sun::star::uno::Type
const &
122 inline ::com::sun::star::uno::Type
const &
127 inline ::com::sun::star::uno::Type
const &
132 inline ::com::sun::star::uno::Type
const &
137 inline ::com::sun::star::uno::Type
const &
142 inline ::com::sun::star::uno::Type
const &
144 SAL_UNUSED_PARAMETER ::cppu::UnoUnsignedShortType
const *)
150 inline ::com::sun::star::uno::Type
const &
155 inline ::com::sun::star::uno::Type
const &
161 inline ::com::sun::star::uno::Type
const &
166 inline ::com::sun::star::uno::Type
const &
172 inline ::com::sun::star::uno::Type
const &
177 inline ::com::sun::star::uno::Type
const &
182 inline ::com::sun::star::uno::Type
const &
187 inline ::com::sun::star::uno::Type
const &
192 inline ::com::sun::star::uno::Type
const &
198 inline ::com::sun::star::uno::Type
const &
204 template<
typename T > inline ::com::sun::star::uno::Type
const &
206 SAL_UNUSED_PARAMETER ::cppu::UnoSequenceType< T >
const *)
217 template<
typename T > inline ::com::sun::star::uno::Type
const &
219 SAL_UNUSED_PARAMETER ::com::sun::star::uno::Sequence< T >
const *)
226 SAL_UNUSED_PARAMETER ::com::sun::star::uno::Exception
const *)
232 SAL_UNUSED_PARAMETER ::com::sun::star::uno::XInterface
const *)
237 template<
typename T > inline ::com::sun::star::uno::Type
const &
239 SAL_UNUSED_PARAMETER ::com::sun::star::uno::Reference< T >
const *)
241 return ::cppu::UnoType< T >::get();
268 template<
typename T >
class UnoType {
270 static inline ::com::sun::star::uno::Type
const &
get() {
271 using namespace ::cppu::detail;
272 #if defined LIBO_INTERNAL_ONLY
273 typedef typename std::remove_reference<T>::type T1;
283 ~
UnoType() SAL_DELETED_FUNCTION;
284 void operator =(
UnoType &) SAL_DELETED_FUNCTION;
287 template<> css::uno::Type inline const &
UnoType<
void>::
get() {
301 template<
typename T > inline ::com::sun::star::uno::Type
const &
303 return ::cppu::UnoType< T >::get();
316 inline ::com::sun::star::uno::Type
const &
318 return ::cppu::UnoType< ::cppu::UnoUnsignedShortType >::get();
331 template<
typename T > inline ::com::sun::star::uno::Type
const &
348 template<
typename T > inline ::com::sun::star::uno::Type
const &
350 return ::cppu::UnoType< T >::get();
364 inline ::com::sun::star::uno::Type
const &
366 return ::cppu::UnoType< ::cppu::UnoCharType >::get();
380 template<
typename T > inline ::com::sun::star::uno::Type
const &
type class of double
Definition: typeclass.h:51
type class of unsigned long
Definition: typeclass.h:43
type class of short
Definition: typeclass.h:37
type class of unsigned hyper
Definition: typeclass.h:47
type class of any
Definition: typeclass.h:57
type class of unsigned short
Definition: typeclass.h:39
A unique C++ type template representing the UNO sequence types in cppu::UnoType.
Definition: unotype.hxx:95
::com::sun::star::uno::Type const & getTypeFavourChar(SAL_UNUSED_PARAMETER::com::sun::star::uno::Sequence< T > const *)
Definition: Sequence.hxx:228
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:404
type class of interface
Definition: typeclass.h:79
type class of hyper
Definition: typeclass.h:45
inline::com::sun::star::uno::Type const & getTypeFromTypeDescriptionReference(::typelib_TypeDescriptionReference *const *tdr)
Definition: unotype.hxx:99
type class of long
Definition: typeclass.h:41
type class of string
Definition: typeclass.h:53
unsigned char sal_Bool
Definition: types.h:48
type class of type
Definition: typeclass.h:55
type class of char
Definition: typeclass.h:31
#define SAL_UNUSED_PARAMETER
Annotate unused but required C++ function parameters.
Definition: types.h:587
C++ class representing an IDL meta type.
Definition: Type.h:54
Template C++ class representing an IDL sequence.
Definition: unotype.hxx:38
signed char sal_Int8
Definition: types.h:53
sal_uInt16 sal_Unicode
Definition: types.h:152
enum _typelib_TypeClass typelib_TypeClass
This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
inline::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER::cppu::UnoVoidType const *)
Definition: unotype.hxx:118
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.
type class of boolean
Definition: typeclass.h:33
inline::com::sun::star::uno::Type const & getTypeFromTypeClass(::typelib_TypeClass tc)
Definition: unotype.hxx:106
::com::sun::star::uno::Type const & getTypeFavourUnsigned(SAL_UNUSED_PARAMETER T const *)
A working replacement for getCppuType (see there).
Definition: unotype.hxx:302
type class of float
Definition: typeclass.h:49
CPPU_DLLPUBLIC void typelib_static_sequence_type_init(typelib_TypeDescriptionReference **ppRef, typelib_TypeDescriptionReference *pElementType) SAL_THROW_EXTERN_C()
Inits static sequence type reference.
struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescriptionReference typelib_TypeDescriptionReference
Holds a weak reference to a type description.
static inline::com::sun::star::uno::Type const & get()
Definition: unotype.hxx:270
Get the com::sun::star::uno::Type instance representing a certain UNO type.
Definition: unotype.hxx:45
type class of void
Definition: typeclass.h:29
type class of byte
Definition: typeclass.h:35
Template reference class for interface type derived from BaseReference.
Definition: unotype.hxx:37
type class of exception
Definition: typeclass.h:70