LibreOffice Module o3tl (master)  1
Classes | Namespaces | Functions
any.hxx File Reference
#include <sal/config.h>
#include <cassert>
#include <type_traits>
#include <utility>
#include <optional>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/RuntimeException.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/uno/XInterface.hpp>
#include <cppu/unotype.hxx>
#include <rtl/ustring.hxx>
#include <sal/types.h>
Include dependency graph for any.hxx:

Go to the source code of this file.

Classes

struct  o3tl::detail::Void
 
struct  o3tl::detail::Optional< T >
 
struct  o3tl::detail::Optional< void >
 
struct  o3tl::detail::Optional< bool >
 
struct  o3tl::detail::Optional< sal_Int8 >
 
struct  o3tl::detail::Optional< sal_Int16 >
 
struct  o3tl::detail::Optional< sal_uInt16 >
 
struct  o3tl::detail::Optional< sal_Int32 >
 
struct  o3tl::detail::Optional< sal_uInt32 >
 
struct  o3tl::detail::Optional< sal_Int64 >
 
struct  o3tl::detail::Optional< sal_uInt64 >
 
struct  o3tl::detail::Optional< float >
 
struct  o3tl::detail::Optional< double >
 
struct  o3tl::detail::Optional< css::uno::Reference< T > >
 
struct  o3tl::detail::Optional< css::uno::Reference< css::uno::XInterface > >
 
struct  o3tl::detail::IsDerivedReference< typename >
 
struct  o3tl::detail::IsDerivedReference< css::uno::Reference< T > >
 
struct  o3tl::detail::IsDerivedReference< css::uno::Reference< css::uno::XInterface > >
 
struct  o3tl::detail::IsUnoSequenceType< typename >
 
struct  o3tl::detail::IsUnoSequenceType< cppu::UnoSequenceType< T > >
 

Namespaces

 o3tl
 
 o3tl::detail
 

Functions

template<typename T >
std::optional< T const > o3tl::detail::tryGetConverted (css::uno::Any const &any)
 
template<typename T >
std::enable_if< !(detail::IsDerivedReference< T >::value||detail::IsUnoSequenceType< T >::value||std::is_base_of< css::uno::XInterface, T >::value), typename detail::Optional< T >::type >::type o3tl::tryAccess (css::uno::Any const &any)
 Try to access the value of a specific type stored in an Any. More...
 
template<>
detail::Optional< void >::type o3tl::tryAccess< void > (css::uno::Any const &any)
 
template<>
detail::Optional< bool >::type o3tl::tryAccess< bool > (css::uno::Any const &any)
 
template<>
detail::Optional< sal_Int8 >::type o3tl::tryAccess< sal_Int8 > (css::uno::Any const &any)
 
template<>
detail::Optional< sal_Int16 >::type o3tl::tryAccess< sal_Int16 > (css::uno::Any const &any)
 
template<>
detail::Optional< sal_uInt16 >::type o3tl::tryAccess< sal_uInt16 > (css::uno::Any const &any)
 
template<>
detail::Optional< sal_Int32 >::type o3tl::tryAccess< sal_Int32 > (css::uno::Any const &any)
 
template<>
detail::Optional< sal_uInt32 >::type o3tl::tryAccess< sal_uInt32 > (css::uno::Any const &any)
 
template<>
detail::Optional< sal_Int64 >::type o3tl::tryAccess< sal_Int64 > (css::uno::Any const &any)
 
template<>
detail::Optional< sal_uInt64 >::type o3tl::tryAccess< sal_uInt64 > (css::uno::Any const &any)
 
template<>
detail::Optional< float >::type o3tl::tryAccess< float > (css::uno::Any const &any)
 
template<>
detail::Optional< double >::type o3tl::tryAccess< double > (css::uno::Any const &any)
 
template<>
detail::Optional< css::uno::Any >::type o3tl::tryAccess< css::uno::Any > (css::uno::Any const &)=delete
 
template<>
detail::Optional< sal_Bool >::type o3tl::tryAccess< sal_Bool > (css::uno::Any const &)=delete
 
template<typename T >
std::enable_if< detail::IsDerivedReference< T >::value, typename detail::Optional< T >::type >::type o3tl::tryAccess (css::uno::Any const &any)
 
template<typename T >
detail::Optional< T >::type o3tl::tryAccess (css::uno::Any const volatile &&)=delete
 
template<typename T >
detail::Optional< T >::type o3tl::doAccess (css::uno::Any const &any)
 Access the value of a specific type stored in an Any, throwing an exception on failure. More...
 
template<typename T >
detail::Optional< T >::type o3tl::forceAccess (css::uno::Any const &any)
 Access the value of a specific type stored in an Any, knowing the Any contains a value of a matching type. More...