ptr.h File Reference

#include <comet/config.h>
#include <algorithm>
#include <comet/error_fwd.h>
#include <comet/typelist.h>
#include <comet/interface.h>
#include <comet/common.h>
#include <comet/uuid_fwd.h>
#include <comet/variant.h>
#include <comet/error.h>

Include dependency graph for ptr.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  comet
namespace  comet::thread_model
namespace  comet::impl
namespace  comet::impl::unknown_choice
namespace  boost

Classes

struct  comet::wrap_t< Itf >
struct  comet::wrap_t<::IUnknown >
class  comet::impl::com_cast_t< Itf >
class  comet::impl::com_cast_t< variant_t >
struct  comet::impl::IUnknown_caller< B >
struct  comet::impl::IUnknown_caller< true >
struct  comet::impl::iunknown_chooser< C >
class  comet::impl::try_cast_t< Itf >
class  comet::impl::try_cast_t< variant_t >
class  comet::impl::safe_interface< Itf >
 IUnknown wrapper. More...
class  comet::identity_ptr
 Represents the identity Unknown of an object. More...
class  comet::com_ptr< Itf >
 Interface smart pointer. More...
class  comet::com_ptr< Itf >::bool_tester
class  comet::impl::try_caster_t< Itf >

Defines

#define COMET_SPECIALISE_STD_SWAP_ITF(Itf)   namespace std { inline void swap(comet::com_ptr<Itf>& x, comet::com_ptr<Itf>& y) {x.swap(y); } }
 Macro that specialises std::swap for com_ptr.

Functions

template<typename Itf> Itf * raw (wrap_t< Itf > *p)
template<class C> long dummy_ (aggregate_inner_unknown< C > *)
char dummy_ (...)
template<typename Itf> impl::com_cast_t< Itf > com_cast (Itf *t)
impl::com_cast_t< variant_t > com_cast (const variant_t &v)
template<typename Itf> impl::try_cast_t< Itf > try_cast (const com_ptr< Itf > &t)
 Cast com_ptr.
template<typename Itf> impl::try_cast_t< Itf > try_cast (Itf *t)
impl::try_cast_t< variant_t > try_cast (const variant_t &v)
template<typename Itf> Itf * get_pointer (const comet::com_ptr< Itf > &sp)


Detailed Description

Provides the com_ptr type.