Primary namespace for comet. Includes source and libraries. More...


Classes

class  comet::array_t< T, SZ >
struct  comet::declspec_comtype< ITF, BASE >
struct  comet::empty_typelib
 Placeholder for an empty comet typelibrary. More...
class  comet::atl_module_ex< COM_SERVER, ATL_MODULE >
class  comet::atl_module< TYPELIB, ATL_MODULE >
class  comet::auto_buffer_t< T >
class  comet::bstr_t
struct  comet::bstr_t::less< CF >
 Less Functor. More...
struct  comet::bstr_t::less_equal< CF >
 less or equal functor. More...
struct  comet::bstr_t::greater< CF >
 greater functor. More...
struct  comet::bstr_t::greater_equal< CF >
 greater or equal functor. More...
struct  comet::bstr_t::equal_to< CF >
 equality functor. More...
struct  comet::bstr_t::not_equal_to< CF >
 Inequality functor. More...
struct  comet::call_logger_< OVERRIDE >
struct  comet::stream_call_logger_t< CREATESTREAM >
class  comet::cmd_line_parser
class  comet::bool_out
class  comet::bool_inout
class  comet::variant_bool_t
class  comet::variant_bool_t::bool_pointer_t
class  comet::variant_bool_t::bool_reference_chooser_t
class  comet::variant_bool_t::bool_reference_t
class  comet::simple_cpc< Itf >
class  comet::connection_point_for< Itf >
struct  comet::implement_cpc< ITF_LST >
class  comet::connection_point_impl< Itf >
class  comet::sink_impl< Itf >
struct  comet::cp_throw
struct  comet::cp_nothrow_remove
struct  comet::cp_nothrow
class  comet::currency_t
struct  comet::dateonly_t
 Wrapper for a date only class. More...
class  comet::datetime_exception
 Exception for datetimes. More...
struct  comet::dt_invalid_t
 Initialise date/time value as invalid.
struct  comet::dt_null_t
 Initialise date/time value as null.
struct  comet::dt_zero_t
 Initialise date/time value as zero.
class  comet::timeperiod_t
class  comet::datetime_t
struct  comet::wrap_t<::IDispatch >
class  comet::dynamic_dispatch< BASE >
struct  comet::dynamic_dispatch< BASE >::method_ptr
struct  comet::dynamic_dispatch< BASE >::wrap_map_t
class  comet::stl_enumeration_t< Itf, C, T, CONVERTER, TH >
struct  comet::enumerated_type_of< IEnumVARIANT >
struct  comet::enumerated_type_of< IEnumConnectionPoints >
struct  comet::enumerated_type_of< IEnumConnections >
struct  comet::stl_enumeration< ET >
struct  comet::ptr_converter< T >
struct  comet::ptr_converter_select1st< T >
struct  comet::ptr_converter_select2nd< T >
class  comet::variant_iterator
class  comet::itf_iterator< Itf >
class  comet::com_error
struct  comet::throw_error_handler< OVERRIDE >
class  comet::exe_server< TYPELIB, FREE_THREADED, TRAITS >
 Define an EXE server. More...
struct  comet::parameter_type< T >
struct  comet::parameter_types< LIST >
class  comet::functor_impl< R, LIST >
class  comet::functor< R, LIST >
class  comet::GIT_cookie< Itf >
 Type-safe GIT Cookie. More...
class  comet::GIT
 Global Interface Table wrapper. More...
class  comet::handle_policy_base_t< H, INVALID_HANDLE_ >
struct  comet::handle_nothrow_error_policy_t
struct  comet::handle_throw_error_policy_t
class  comet::auto_handle_wrap_t< C_, H, INVALID_HANDLE_, ERROR_POLICY >
struct  comet::auto_handle_t< ERROR_POLICY >
 Wrapper for HANDLE type. More...
struct  comet::auto_reference_t< T >
 Create a reference object to a handle that doesn't destroy it's contents. More...
struct  comet::source_info_t
 Specifies the source of an exception. More...
struct  comet::error_logger_< OVERRIDE >
struct  comet::comet_exception_handler< OVERRIDE >
struct  comet::handle_exception_default< COCLASS >
struct  comet::handle_exception_default< 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::qi_hook
class  comet::qi_hook_itf< Itf >
struct  comet::FTM
class  comet::aggregates< COCLASS, >
struct  comet::uuid_comtype< ITF, ItfID, BASE >
struct  comet::comtype< T >
struct  comet::comtype< nil >
struct  comet::comtype< ::IUnknown >
struct  comet::comtype< IConnectionPoint >
struct  comet::comtype< IConnectionPointContainer >
struct  comet::comtype< IEnumConnections >
struct  comet::comtype< IDispatch >
struct  comet::comtype< IEnumVARIANT >
struct  comet::comtype< ISupportErrorInfo >
struct  comet::comtype< IErrorInfo >
struct  comet::comtype< IProvideClassInfo >
struct  comet::comtype< IPersist >
struct  comet::comtype< IPersistFile >
struct  comet::comtype< IPersistStream >
struct  comet::comtype< IPersistStreamInit >
struct  comet::comtype< IMessageFilter >
struct  comet::comtype< IProvideClassInfo2 >
struct  comet::comtype< IMarshal >
struct  comet::comtype< IFontDisp >
struct  comet::comtype< IPictureDisp >
struct  comet::comtype< IGlobalInterfaceTable >
struct  comet::comtype< IClassFactory >
class  comet::lw_lock
class  comet::auto_reader_lock
class  comet::auto_writer_lock
struct  comet::module_t
 COM module. More...
struct  comet::comtype<::IOleAdviseHolder >
struct  comet::comtype<::IOleCache >
struct  comet::comtype<::IOleCache2 >
struct  comet::comtype<::IOleCacheControl >
struct  comet::comtype<::IParseDisplayName >
struct  comet::comtype<::IOleContainer >
struct  comet::comtype<::IOleClientSite >
struct  comet::comtype<::IOleObject >
struct  comet::comtype<::IOleWindow >
struct  comet::comtype<::IOleLink >
struct  comet::comtype<::IOleItemContainer >
struct  comet::comtype<::IOleInPlaceUIWindow >
struct  comet::comtype<::IOleInPlaceActiveObject >
struct  comet::comtype<::IOleInPlaceFrame >
struct  comet::comtype<::IOleInPlaceObject >
struct  comet::comtype<::IOleInPlaceSite >
struct  comet::comtype<::IContinue >
struct  comet::comtype<::IViewObject >
struct  comet::comtype<::IViewObject2 >
struct  comet::comtype<::IDropSource >
struct  comet::comtype<::IDropTarget >
struct  comet::comtype<::IEnumOLEVERB >
struct  comet::wrap_t< Itf >
struct  comet::wrap_t<::IUnknown >
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::reference_count
 Simple reference counter. More...
struct  comet::reg_error
class  comet::safearray_t< T >
struct  comet::safearray_t< T >::get_extras< STET >
struct  comet::safearray_t< T >::get_extras< impl::stet_record >
struct  comet::safearray_t< T >::get_extras< impl::stet_iid >
class  comet::safearray_t< T >::sa_auto_lock_t
struct  comet::safearray_t< T >::traits_sanity_check< STCT >
struct  comet::safearray_t< T >::traits_sanity_check< impl::stct_vt_ok >
struct  comet::safearray_t< T >::traits_sanity_check< impl::stct_iid_ok >
struct  comet::aggregate_inner_unknown< C >
class  comet::aggregate_outer_unknown< T >
class  comet::aggregateable_object<>
class  comet::simple_object<>
class  comet::static_object<>
class  comet::singleton_object<>
class  comet::embedded_object< PARENT, >
class  comet::embedded_object2< PARENT, >
class  comet::class_factory_base< T, LOCK_MODULE >
 Base class for class factories. More...
class  comet::class_factory< T, LOCK_MODULE >
 Basic class-factory. More...
class  comet::class_factory_agg< T, LOCK_MODULE >
 Class factory for aggregateable objects. More...
class  comet::class_factory_singleton< T, LOCK_MODULE >
 Class factory for singletons. More...
struct  comet::tm_properties< thread_model::Apartment >
struct  comet::tm_properties< thread_model::Free >
struct  comet::tm_properties< thread_model::Both >
struct  comet::tm_properties< thread_model::Neutral >
class  comet::IProvideClassInfoImpl< COCLASS >
struct  comet::coclass< T, TM, >
struct  comet::aggregateable_coclass< T, TM >
struct  comet::singleton_coclass< T, TM >
struct  comet::singleton_autorelease_coclass< T, TM >
class  comet::coclass_table< CLS_LIST, FACTORY_SHOULD_LOCK_MODULE >
struct  comet::coclass_term
class  comet::coclass_table< nil, true >
class  comet::coclass_table< nil, false >
struct  comet::com_server_traits< FL >
class  comet::com_server< TYPELIB, TRAITS >
class  comet::critical_section
class  comet::auto_cs
class  comet::locking_ptr< T >
class  comet::thread
class  comet::event
struct  comet::comtype< ITypeLib >
struct  comet::comtype< ITypeInfo >
struct  comet::comtype< ITypeInfo2 >
struct  comet::wrap_t< ITypeInfo >
struct  comet::wrap_t< ITypeInfo2 >
struct  comet::wrap_t< ITypeLib >
 Specialisation to handle TypeLibrary API. More...
struct  comet::nil
struct  comet::tl_t< T, U >
struct  comet::make_list<>
struct  comet::make_list< COMET_LIST_NIL >
struct  comet::test< n >
 Define a unit test n. More...
struct  comet::tester< n >
 Run n tests. More...
struct  comet::tester< 0 >
class  comet::auto_coinit
 Automatic handling of CoInitialize / CoUninitialize. More...
class  comet::uuid_t
 UUID wrapper. More...
struct  comet::uuid_t::unitialized_t
class  comet::uuid_t::bool_tester
class  comet::variant_t
 Wrapper for VARIANT type. More...
struct  comet::variant_t::tagMissing
struct  comet::variant_t::tagNothing
struct  comet::variant_t::tagNull
struct  comet::enumerated_type_of
struct  comet::functor_impl_aux
struct  comet::functor_handler
struct  comet::memfun_handler
class  comet::chainer
class  comet::binder_first

Typedefs

typedef auto_handle_t auto_handle
 Auto handle - wrapper for HANLDE.
typedef auto_handle_t< handle_throw_error_policy_tauto_handle_throw
 Auto handle - throwing wrapper for HANDLE.
typedef invariant_lock_impl::invariant_lockinvariant_lock
typedef registry::key< reg_errorregkey
typedef const impl::scope_guard_impl_basescope_guard
typedef impl::tlib_info< ITypeInfo,
TYPEATTR >::typeinfo_attr_base<
&ITypeInfo::ReleaseTypeAttr > 
type_attr_t
 Auto-release wrapper for TYPEATTR.
typedef impl::tlib_info< ITypeInfo,
FUNCDESC >::typeinfo_attr_base<
&ITypeInfo::ReleaseFuncDesc > 
func_desc_t
 Auto-release wrapper for FUNCDESC.
typedef impl::tlib_info< ITypeInfo,
VARDESC >::typeinfo_attr_base<
&ITypeInfo::ReleaseVarDesc > 
var_desc_t
 Auto-release wrapper for VARDESC.
typedef impl::tlib_info< ITypeLib,
TLIBATTR >::typeinfo_attr_base<
&ITypeLib::ReleaseTLibAttr > 
tlibattr_t
 Auto-release wrapper for TLIBATTR.
typedef std::basic_string<
TCHAR > 
tstring
typedef std::basic_ios< TCHAR,
std::char_traits< TCHAR > > 
tios
typedef std::basic_streambuf<
TCHAR, std::char_traits<
TCHAR > > 
tstreambuf
typedef std::basic_istream<
TCHAR, std::char_traits<
TCHAR > > 
tistream
typedef std::basic_ostream<
TCHAR, std::char_traits<
TCHAR > > 
tostream
typedef std::basic_iostream<
TCHAR, std::char_traits<
TCHAR > > 
tiostream
typedef std::basic_stringbuf<
TCHAR, std::char_traits<
TCHAR >, std::allocator<
TCHAR > > 
tstringbuf
typedef std::basic_istringstream<
TCHAR, std::char_traits<
TCHAR >, std::allocator<
TCHAR > > 
tistringstream
typedef std::basic_ostringstream<
TCHAR, std::char_traits<
TCHAR >, std::allocator<
TCHAR > > 
tostringstream
typedef std::basic_stringstream<
TCHAR, std::char_traits<
TCHAR >, std::allocator<
TCHAR > > 
tstringstream
typedef std::basic_filebuf<
TCHAR, std::char_traits<
TCHAR > > 
tfilebuf
typedef std::basic_ifstream<
TCHAR, std::char_traits<
TCHAR > > 
tifstream
typedef std::basic_ofstream<
TCHAR, std::char_traits<
TCHAR > > 
tofstream
typedef std::basic_fstream<
TCHAR, std::char_traits<
TCHAR > > 
tfstream
typedef auto_coinit auto_CoInitialize

Enumerations

enum  compare_flags_t {
  cf_ignore_case = NORM_IGNORECASE, cf_ingore_nonspace = NORM_IGNORENONSPACE, cf_ignore_symbols = NORM_IGNORESYMBOLS, cf_ignore_width = NORM_IGNOREWIDTH,
  cf_ignore_kanatype = NORM_IGNOREKANATYPE, cf_ignore_kashida = NORM_IGNOREKASHIDA
}
 Comparsion flags. More...
enum  { NO_EMBEDDED_TLB = 1 }
enum  impl_type_flag { eft_default = 0x1, eft_source = 0x2, eft_restricted = 0x4, eft_defaultvtable = 0x8 }

Functions

template<class T, size_t SZ> bool operator== (const array_t< T, SZ > &x, const array_t< T, SZ > &y)
template<class T, size_t SZ> bool operator< (const array_t< T, SZ > &x, const array_t< T, SZ > &y)
template<class T, size_t SZ> bool operator!= (const array_t< T, SZ > &x, const array_t< T, SZ > &y)
template<class T, size_t SZ> bool operator> (const array_t< T, SZ > &x, const array_t< T, SZ > &y)
template<class T, size_t SZ> bool operator<= (const array_t< T, SZ > &x, const array_t< T, SZ > &y)
template<class T, size_t SZ> bool operator>= (const array_t< T, SZ > &x, const array_t< T, SZ > &y)
bstr_t operator+ (const std::wstring &s, const bstr_t &t) throw (std::bad_alloc)
 Concat operation.
bstr_t operator+ (const wchar_t *s, const bstr_t &t) throw (std::bad_alloc)
 Concat operation.
template<typename T> void comet_log (tostream &os, const T &value)
template<typename T> impl::auto_attach_t< T > auto_attach (const T &t)
 Used to attach a raw parameter to a wrapper.
VARIANT_BOOL bool_in (bool x)
 COMET_WRAP_EACH_DECLARE (connection_point_for)
template<typename CHAR> size_t str_formattime (CHAR *strDest, size_t maxsize, const CHAR *format, const struct tm *timeptr)
 A wrapper for choosing strftime/wcsftime based on char type.
template<typename Itf> void throw_com_error (Itf *p, HRESULT hr)
HRESULT operator| (HRESULT hr, const impl::raise_exception_t &)
 Overload for the 'do or die' useage of raise_exception.
 COMET_DEFINE_PARTIAL2 (int L, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (0, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (1, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (2, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (3, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (4, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (5, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (6, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (7, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (8, typename R, typename LIST, functor_impl_aux)
 COMET_SPECIALISE_PARTIAL2 (9, typename R, typename LIST, functor_impl_aux)
 COMET_DEFINE_PARTIAL2 (typename RT, typename PF, typename FUN, functor_handler)
 COMET_SPECIALISE_PARTIAL2 (void, typename PF, typename FUN, functor_handler)
 COMET_DEFINE_PARTIAL3 (typename RT, typename PF, typename OBJ_PTR, typename MEMFN_PTR, memfun_handler)
 COMET_SPECIALISE_PARTIAL3 (void, typename PF, typename OBJ_PTR, typename MEMFN_PTR, memfun_handler)
 COMET_DEFINE_PARTIAL (typename R, typename LIST, functor_operators)
 COMET_SPECIALISE_PARTIAL (void, typename LIST, functor_operators)
 COMET_DEFINE_PARTIAL (typename R, typename LIST, chainer)
 COMET_SPECIALISE_PARTIAL (void, typename LIST, chainer)
 COMET_DEFINE_PARTIAL (typename R, typename LIST, binder_first)
 COMET_SPECIALISE_PARTIAL (void, typename LIST, binder_first)
template<typename H, long INVALID_HANDLE_> impl::THIS_IS_NOT_ALLOWED CloseHandle (const handle_policy_base_t< H, INVALID_HANDLE_ > &)
 Disallow closing of a const handle.
template<typename H, long INVALID_HANDLE_> bool CloseHandle (handle_policy_base_t< H, INVALID_HANDLE_ > &rhs)
 Make sure closing of an auto_handle_wrap_t detaches first.
template<typename Itf> const uuid_tuuidof (Itf *=0) throw ()
 C++ replacement of VC's __uuidof().
template<typename T> impl::cmd_t * create_pointer_deleter (T *&p)
 Create a pointer deleter command.
template<typename T> impl::cmd_t * create_interface_releaser (T *&p)
 Create an interface releaser command.
template<typename T> impl::cmd_t * create_object_disposer (T *p)
 Create a more generic object 'disposer'.
module_tmodule ()
 global module object
template<typename Itf> Itf * raw (wrap_t< Itf > *p)
template<typename Itf> impl::com_cast_t< Itf > com_cast (Itf *t)
impl::com_cast_t< variant_tcom_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_ttry_cast (const variant_t &v)
template<typename T, typename TR> comet::impl::sa_iterator<
T, TR > 
operator+ (size_t n, const comet::impl::sa_iterator< T, TR > &it)
CLSID get_clsid_of_ftm ()
 Returns the class id of the free threaded marshaler.
bool is_object_aggregating_ftm (const com_ptr< IUnknown > &p)
bool is_sta ()
bool is_std_proxy (const com_ptr< IUnknown > &unk)
 COMET_VARIANT_FRIENDS (short)
 COMET_VARIANT_FRIENDS (int)
 COMET_VARIANT_FRIENDS (long)
 COMET_VARIANT_FRIENDS (float)
 COMET_VARIANT_FRIENDS (double)
 COMET_VARIANT_FRIENDS (const char *)
 COMET_VARIANT_FRIENDS (const wchar_t *)
 COMET_VARIANT_FRIENDS (const std::wstring &)
 COMET_VARIANT_FRIENDS (const std::string &)
 COMET_VARIANT_FRIENDS (const DECIMAL &)
bool operator!= (const bstr_t &b, const variant_t &v)
bool operator== (const bstr_t &b, const variant_t &v)
bool operator< (const bstr_t &b, const variant_t &v)
bool operator> (const bstr_t &b, const variant_t &v)
bool operator<= (const bstr_t &b, const variant_t &v)
bool operator>= (const bstr_t &b, const variant_t &v)

Variables

const double half_millisecond = 1.0/172800000.0
int current_test = 0


Detailed Description

Primary namespace for comet. Includes source and libraries.

Typedef Documentation

typedef registry::key<reg_error> comet::regkey
 

Standard type for use when dealing with registry keys.


Function Documentation

template<typename Itf>
const uuid_t& uuidof Itf *  = 0  )  throw () [inline]
 

C++ replacement of VC's __uuidof().

Use this function to an IID to an interface or coclass.