impqi.h File Reference

#include <wtypes.h>
#include <comet/config.h>
#include <comet/ptr.h>
#include <comet/typelist.h>
#include <comet/common.h>
#include <comet/type_traits.h>
#include <comet/uuid_fwd.h>

Include dependency graph for impqi.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::impl

Classes

struct  comet::impl::find_compatibility_aux< use_cast_t >
struct  comet::impl::find_compatibility_aux< use_cast_t >::with< T >
struct  comet::impl::find_compatibility_aux< uc_static >
struct  comet::impl::find_compatibility_aux< uc_static >::with< Itf >
struct  comet::impl::find_compatibility_aux< uc_qi_hook_itf >
struct  comet::impl::find_compatibility_aux< uc_qi_hook_itf >::with< Itf >
struct  comet::impl::find_compatibility_aux< uc_qi_hook >
struct  comet::impl::find_compatibility_aux< uc_qi_hook >::with< Itf >
struct  comet::impl::use_cast_aux< Itf >
struct  comet::impl::find_compatibility< Itf >
struct  comet::impl::interface_finder< ITF_LIST >
struct  comet::impl::interface_finder< nil >
struct  comet::typelibrary_loader< TL >
class  comet::implement_qi< ITF_LIST >
class  comet::implement_internal_qi< ITF_LIST >
class  comet::impl_dispatch< BASE, TL >
class  comet::impl::qi_hook_itf_tag
class  comet::qi_hook
class  comet::qi_hook_itf< Itf >
struct  comet::FTM
class  comet::aggregates< COCLASS, >

Enumerations

enum  use_cast_t {
  uc_false = 0, uc_static, uc_static_op, uc_qi_hook_itf,
  uc_qi_hook
}

Functions

template<typename Itf> COMET_FORCEINLINE bool is_interface_compatible (const uuid_t &iid, Itf *)
template<> COMET_FORCEINLINE bool is_interface_compatible< ::IUnknown > (const uuid_t &,::IUnknown *)
template<> COMET_FORCEINLINE bool is_interface_compatible< nil > (const uuid_t &, nil *)
template<typename ITF_LIST> ::IUnknown * cast_to_unknown (implement_qi< ITF_LIST > *iq)


Detailed Description

Implementation of QueryInterface.