STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ... ATLSTL - Template Software for the Active Template Library COMSTL - The Standard Template Library meets the Component Object Model .netSTL - Standard Template Library meets the Microsoft.NET Common Language Runtime InetSTL - The Standard Template Library meets WinInet MFCSTL - Template Software for the Microsoft Foundation Classes UNIXSTL - Template Software for the UNIX Operating System WinSTL - where the Standard Template Library meets the Win32 API

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

comstl_interface_traits_std.h

Go to the documentation of this file.
00001 /* 
00002  * File:        comstl_interface_traits_std.h
00003  *
00004  * Purpose:     Standard interface traits.
00005  *
00006  * Created:     25th May 2002
00007  * Updated:     11th September 2004
00008  *
00009  * Home:        http://stlsoft.org/
00010  *
00011  * Copyright (c) 2002-2004, Matthew Wilson and Synesis Software
00012  * All rights reserved.
00013  *
00014  * Redistribution and use in source and binary forms, with or without
00015  * modification, are permitted provided that the following conditions are met:
00016  *
00017  * - Redistributions of source code must retain the above copyright notice, this
00018  *   list of conditions and the following disclaimer.
00019  * - Redistributions in binary form must reproduce the above copyright notice,
00020  *   this list of conditions and the following disclaimer in the documentation
00021  *   and/or other materials provided with the distribution.
00022  * - Neither the name(s) of Matthew Wilson and Synesis Software nor the names of
00023  *   any contributors may be used to endorse or promote products derived from
00024  *   this software without specific prior written permission.
00025  *
00026  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00027  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00028  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00029  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00030  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00031  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00032  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00033  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00034  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00035  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00036  * POSSIBILITY OF SUCH DAMAGE.
00037  *
00038  * 
00039 
00040 
00044 
00045 #ifndef COMSTL_INCL_H_COMSTL_INTERFACE_TRAITS_STD
00046 #define COMSTL_INCL_H_COMSTL_INTERFACE_TRAITS_STD
00047 
00048 #ifndef __STLSOFT_DOCUMENTATION_SKIP_SECTION
00049 # define COMSTL_VER_H_COMSTL_INTERFACE_TRAITS_STD_MAJOR     2
00050 # define COMSTL_VER_H_COMSTL_INTERFACE_TRAITS_STD_MINOR     0
00051 # define COMSTL_VER_H_COMSTL_INTERFACE_TRAITS_STD_REVISION  1
00052 # define COMSTL_VER_H_COMSTL_INTERFACE_TRAITS_STD_EDIT      25
00053 #endif /* !__STLSOFT_DOCUMENTATION_SKIP_SECTION */
00054 
00055 /* 
00056  * Includes
00057  */
00058 
00059 #ifndef COMSTL_INCL_H_COMSTL
00060 # include "comstl.h"                    // Include the COMSTL root header
00061 #endif /* !COMSTL_INCL_H_COMSTL */
00062 #ifndef COMSTL_INCL_H_COMSTL_INTERFACE_TRAITS
00063 # include "comstl_interface_traits.h"   // Include IID_traits
00064 #endif /* !COMSTL_INCL_H_COMSTL_INTERFACE_TRAITS */
00065 
00066 /* 
00067  * Namespace
00068  *
00069  * The COMSTL components are contained within the comstl namespace. This is
00070  * actually an alias for stlsoft::comstl_project,
00071  *
00072  * The definition matrix is as follows:
00073  *
00074  * _STLSOFT_NO_NAMESPACE    _COMSTL_NO_NAMESPACE    comstl definition
00075  * ---------------------    --------------------    -----------------
00076  *  not defined              not defined             = stlsoft::comstl_project
00077  *  not defined              defined                 not defined
00078  *  defined                  not defined             comstl
00079  *  defined                  defined                 not defined
00080  *
00081  */
00082 
00083 #ifndef _COMSTL_NO_NAMESPACE
00084 # if defined(_STLSOFT_NO_NAMESPACE) || \
00085      defined(__STLSOFT_DOCUMENTATION_SKIP_SECTION)
00086 /* There is no stlsoft namespace, so must define ::comstl */
00087 namespace comstl
00088 {
00089 # else
00090 /* Define stlsoft::comstl_project */
00091 
00092 namespace stlsoft
00093 {
00094 
00095 namespace comstl_project
00096 {
00097 
00098 # endif /* _STLSOFT_NO_NAMESPACE */
00099 #endif /* !_COMSTL_NO_NAMESPACE */
00100 
00101 /* 
00102 
00107 
00108 /* 
00109  * Classes
00110  */
00111 
00112 /* unknwn.idl */
00113 
00114 #if defined(__STLSOFT_COMPILER_IS_GCC) && \
00115     defined(_UNKNWN_H)
00116 # define __IUnknown_FWD_DEFINED__
00117 # define __IClassFactory_FWD_DEFINED__
00118 #endif /* __STLSOFT_COMPILER_IS_GCC && _UNKNWN_H */
00119 
00120 #ifdef __IUnknown_FWD_DEFINED__
00121 COMSTL_IID_TRAITS_DEFINE(IUnknown)
00122 #endif  /* __IUnknown_FWD_DEFINED__ */
00123 #ifdef __IClassFactory_FWD_DEFINED__
00124 COMSTL_IID_TRAITS_DEFINE(IClassFactory)
00125 #endif  /* __IClassFactory_FWD_DEFINED__ */
00126 
00127 /* objidl.idl */
00128 
00129 #if defined(__STLSOFT_COMPILER_IS_GCC) && \
00130     defined(_UNKNWN_H)
00131 # define __IMarshal_FWD_DEFINED__
00132 # define __IMalloc_FWD_DEFINED__
00133 # define __IMallocSpy_FWD_DEFINED__
00134 # define __IStdMarshalInfo_FWD_DEFINED__
00135 # define __IExternalConnection_FWD_DEFINED__
00136 //# define __IMultiQI_FWD_DEFINED__
00137 # define __IEnumUnknown_FWD_DEFINED__
00138 # define __IBindCtx_FWD_DEFINED__
00139 # define __IEnumMoniker_FWD_DEFINED__
00140 # define __IRunnableObject_FWD_DEFINED__
00141 # define __IRunningObjectTable_FWD_DEFINED__
00142 # define __IPersist_FWD_DEFINED__
00143 # define __IPersistStream_FWD_DEFINED__
00144 # define __IMoniker_FWD_DEFINED__
00145 # define __IROTData_FWD_DEFINED__
00146 # define __IEnumString_FWD_DEFINED__
00147 # define __ISequentialStream_FWD_DEFINED__
00148 # define __IStream_FWD_DEFINED__
00149 # define __IEnumSTATSTG_FWD_DEFINED__
00150 # define __IStorage_FWD_DEFINED__
00151 # define __IPersistFile_FWD_DEFINED__
00152 # define __IPersistStorage_FWD_DEFINED__
00153 # define __ILockBytes_FWD_DEFINED__
00154 # define __IEnumFORMATETC_FWD_DEFINED__
00155 # define __IEnumSTATDATA_FWD_DEFINED__
00156 # define __IRootStorage_FWD_DEFINED__
00157 # define __IAdviseSink_FWD_DEFINED__
00158 # define __IAdviseSink2_FWD_DEFINED__
00159 # define __IDataObject_FWD_DEFINED__
00160 # define __IDataAdviseHolder_FWD_DEFINED__
00161 # define __IMessageFilter_FWD_DEFINED__
00162 # define __IRpcChannelBuffer_FWD_DEFINED__
00163 # define __IRpcProxyBuffer_FWD_DEFINED__
00164 # define __IRpcStubBuffer_FWD_DEFINED__
00165 # define __IPSFactoryBuffer_FWD_DEFINED__
00166 # define __IChannelHook_FWD_DEFINED__
00167 # define __IPropertyStorage_FWD_DEFINED__
00168 # define __IPropertySetStorage_FWD_DEFINED__
00169 # define __IEnumSTATPROPSTG_FWD_DEFINED__
00170 # define __IEnumSTATPROPSETSTG_FWD_DEFINED__
00171 # define __IClientSecurity_FWD_DEFINED__
00172 # define __IServerSecurity_FWD_DEFINED__
00173 # define __IClassActivator_FWD_DEFINED__
00174 # define __IFillLockBytes_FWD_DEFINED__
00175 # define __IProgressNotify_FWD_DEFINED__
00176 # define __ILayoutStorage_FWD_DEFINED__
00177 #endif /* __STLSOFT_COMPILER_IS_GCC && _UNKNWN_H */
00178 
00179 #ifdef __IMarshal_FWD_DEFINED__
00180 COMSTL_IID_TRAITS_DEFINE(IMarshal)
00181 #endif  /* __IMarshal_FWD_DEFINED__ */
00182 #ifdef __IMalloc_FWD_DEFINED__
00183 COMSTL_IID_TRAITS_DEFINE(IMalloc)
00184 #endif  /* __IMalloc_FWD_DEFINED__ */
00185 #ifdef __IMallocSpy_FWD_DEFINED__
00186 COMSTL_IID_TRAITS_DEFINE(IMallocSpy)
00187 #endif  /* __IMallocSpy_FWD_DEFINED__ */
00188 #ifdef __IStdMarshalInfo_FWD_DEFINED__
00189 COMSTL_IID_TRAITS_DEFINE(IStdMarshalInfo)
00190 #endif  /* __IStdMarshalInfo_FWD_DEFINED__ */
00191 #ifdef __IExternalConnection_FWD_DEFINED__
00192 COMSTL_IID_TRAITS_DEFINE(IExternalConnection)
00193 #endif  /* __IExternalConnection_FWD_DEFINED__ */
00194 #ifdef __IMultiQI_FWD_DEFINED__
00195 COMSTL_IID_TRAITS_DEFINE(IMultiQI)
00196 #endif  /* __IMultiQI_FWD_DEFINED__ */
00197 #ifdef __IEnumUnknown_FWD_DEFINED__
00198 COMSTL_IID_TRAITS_DEFINE(IEnumUnknown)
00199 #endif  /* __IEnumUnknown_FWD_DEFINED__ */
00200 #ifdef __IBindCtx_FWD_DEFINED__
00201 COMSTL_IID_TRAITS_DEFINE(IBindCtx)
00202 #endif  /* __IBindCtx_FWD_DEFINED__ */
00203 #ifdef __IEnumMoniker_FWD_DEFINED__
00204 COMSTL_IID_TRAITS_DEFINE(IEnumMoniker)
00205 #endif  /* __IEnumMoniker_FWD_DEFINED__ */
00206 #ifdef __IRunnableObject_FWD_DEFINED__
00207 COMSTL_IID_TRAITS_DEFINE(IRunnableObject)
00208 #endif  /* __IRunnableObject_FWD_DEFINED__ */
00209 #ifdef __IRunningObjectTable_FWD_DEFINED__
00210 COMSTL_IID_TRAITS_DEFINE(IRunningObjectTable)
00211 #endif  /* __IRunningObjectTable_FWD_DEFINED__ */
00212 #ifdef __IPersist_FWD_DEFINED__
00213 COMSTL_IID_TRAITS_DEFINE(IPersist)
00214 #endif  /* __IPersist_FWD_DEFINED__ */
00215 #ifdef __IPersistStream_FWD_DEFINED__
00216 COMSTL_IID_TRAITS_DEFINE(IPersistStream)
00217 #endif  /* __IPersistStream_FWD_DEFINED__ */
00218 #ifdef __IMoniker_FWD_DEFINED__
00219 COMSTL_IID_TRAITS_DEFINE(IMoniker)
00220 #endif  /* __IMoniker_FWD_DEFINED__ */
00221 #ifdef __IROTData_FWD_DEFINED__
00222 COMSTL_IID_TRAITS_DEFINE(IROTData)
00223 #endif  /* __IROTData_FWD_DEFINED__ */
00224 #ifdef __IEnumString_FWD_DEFINED__
00225 COMSTL_IID_TRAITS_DEFINE(IEnumString)
00226 #endif  /* __IEnumString_FWD_DEFINED__ */
00227 #ifdef __ISequentialStream_FWD_DEFINED__
00228 COMSTL_IID_TRAITS_DEFINE(ISequentialStream)
00229 #endif  /* __ISequentialStream_FWD_DEFINED__ */
00230 #ifdef __IStream_FWD_DEFINED__
00231 COMSTL_IID_TRAITS_DEFINE(IStream)
00232 #endif  /* __IStream_FWD_DEFINED__ */
00233 #ifdef __IEnumSTATSTG_FWD_DEFINED__
00234 COMSTL_IID_TRAITS_DEFINE(IEnumSTATSTG)
00235 #endif  /* __IEnumSTATSTG_FWD_DEFINED__ */
00236 #ifdef __IStorage_FWD_DEFINED__
00237 COMSTL_IID_TRAITS_DEFINE(IStorage)
00238 #endif  /* __IStorage_FWD_DEFINED__ */
00239 #ifdef __IPersistFile_FWD_DEFINED__
00240 COMSTL_IID_TRAITS_DEFINE(IPersistFile)
00241 #endif  /* __IPersistFile_FWD_DEFINED__ */
00242 #ifdef __IPersistStorage_FWD_DEFINED__
00243 COMSTL_IID_TRAITS_DEFINE(IPersistStorage)
00244 #endif  /* __IPersistStorage_FWD_DEFINED__ */
00245 #ifdef __ILockBytes_FWD_DEFINED__
00246 COMSTL_IID_TRAITS_DEFINE(ILockBytes)
00247 #endif  /* __ILockBytes_FWD_DEFINED__ */
00248 #ifdef __IEnumFORMATETC_FWD_DEFINED__
00249 COMSTL_IID_TRAITS_DEFINE(IEnumFORMATETC)
00250 #endif  /* __IEnumFORMATETC_FWD_DEFINED__ */
00251 #ifdef __IEnumSTATDATA_FWD_DEFINED__
00252 COMSTL_IID_TRAITS_DEFINE(IEnumSTATDATA)
00253 #endif  /* __IEnumSTATDATA_FWD_DEFINED__ */
00254 #ifdef __IRootStorage_FWD_DEFINED__
00255 COMSTL_IID_TRAITS_DEFINE(IRootStorage)
00256 #endif  /* __IRootStorage_FWD_DEFINED__ */
00257 #ifdef __IAdviseSink_FWD_DEFINED__
00258 COMSTL_IID_TRAITS_DEFINE(IAdviseSink)
00259 #endif  /* __IAdviseSink_FWD_DEFINED__ */
00260 #ifdef __IAdviseSink2_FWD_DEFINED__
00261 COMSTL_IID_TRAITS_DEFINE(IAdviseSink2)
00262 #endif  /* __IAdviseSink2_FWD_DEFINED__ */
00263 #ifdef __IDataObject_FWD_DEFINED__
00264 COMSTL_IID_TRAITS_DEFINE(IDataObject)
00265 #endif  /* __IDataObject_FWD_DEFINED__ */
00266 #ifdef __IDataAdviseHolder_FWD_DEFINED__
00267 COMSTL_IID_TRAITS_DEFINE(IDataAdviseHolder)
00268 #endif  /* __IDataAdviseHolder_FWD_DEFINED__ */
00269 #ifdef __IMessageFilter_FWD_DEFINED__
00270 COMSTL_IID_TRAITS_DEFINE(IMessageFilter)
00271 #endif  /* __IMessageFilter_FWD_DEFINED__ */
00272 #ifdef __IRpcChannelBuffer_FWD_DEFINED__
00273 COMSTL_IID_TRAITS_DEFINE(IRpcChannelBuffer)
00274 #endif  /* __IRpcChannelBuffer_FWD_DEFINED__ */
00275 #ifdef __IRpcProxyBuffer_FWD_DEFINED__
00276 COMSTL_IID_TRAITS_DEFINE(IRpcProxyBuffer)
00277 #endif  /* __IRpcProxyBuffer_FWD_DEFINED__ */
00278 #ifdef __IRpcStubBuffer_FWD_DEFINED__
00279 COMSTL_IID_TRAITS_DEFINE(IRpcStubBuffer)
00280 #endif  /* __IRpcStubBuffer_FWD_DEFINED__ */
00281 #ifdef __IPSFactoryBuffer_FWD_DEFINED__
00282 COMSTL_IID_TRAITS_DEFINE(IPSFactoryBuffer)
00283 #endif  /* __IPSFactoryBuffer_FWD_DEFINED__ */
00284 #ifdef __IChannelHook_FWD_DEFINED__
00285 COMSTL_IID_TRAITS_DEFINE(IChannelHook)
00286 #endif  /* __IChannelHook_FWD_DEFINED__ */
00287 #ifdef __IPropertyStorage_FWD_DEFINED__
00288 COMSTL_IID_TRAITS_DEFINE(IPropertyStorage)
00289 #endif  /* __IPropertyStorage_FWD_DEFINED__ */
00290 #ifdef __IPropertySetStorage_FWD_DEFINED__
00291 COMSTL_IID_TRAITS_DEFINE(IPropertySetStorage)
00292 #endif  /* __IPropertySetStorage_FWD_DEFINED__ */
00293 #ifdef __IEnumSTATPROPSTG_FWD_DEFINED__
00294 COMSTL_IID_TRAITS_DEFINE(IEnumSTATPROPSTG)
00295 #endif  /* __IEnumSTATPROPSTG_FWD_DEFINED__ */
00296 #ifdef __IEnumSTATPROPSETSTG_FWD_DEFINED__
00297 COMSTL_IID_TRAITS_DEFINE(IEnumSTATPROPSETSTG)
00298 #endif  /* __IEnumSTATPROPSETSTG_FWD_DEFINED__ */
00299 #ifdef __IClientSecurity_FWD_DEFINED__
00300 COMSTL_IID_TRAITS_DEFINE(IClientSecurity)
00301 #endif  /* __IClientSecurity_FWD_DEFINED__ */
00302 #ifdef __IServerSecurity_FWD_DEFINED__
00303 COMSTL_IID_TRAITS_DEFINE(IServerSecurity)
00304 #endif  /* __IServerSecurity_FWD_DEFINED__ */
00305 #ifdef __IClassActivator_FWD_DEFINED__
00306 COMSTL_IID_TRAITS_DEFINE(IClassActivator)
00307 #endif  /* __IClassActivator_FWD_DEFINED__ */
00308 #ifdef __IFillLockBytes_FWD_DEFINED__
00309 COMSTL_IID_TRAITS_DEFINE(IFillLockBytes)
00310 #endif  /* __IFillLockBytes_FWD_DEFINED__ */
00311 #ifdef __IProgressNotify_FWD_DEFINED__
00312 COMSTL_IID_TRAITS_DEFINE(IProgressNotify)
00313 #endif  /* __IProgressNotify_FWD_DEFINED__ */
00314 #ifdef __ILayoutStorage_FWD_DEFINED__
00315 COMSTL_IID_TRAITS_DEFINE(ILayoutStorage)
00316 #endif  /* __ILayoutStorage_FWD_DEFINED__ */
00317 
00318 /* 
00319 
00321 
00322 /* 
00323 
00324 #ifndef _COMSTL_NO_NAMESPACE
00325 # if defined(_STLSOFT_NO_NAMESPACE) || \
00326      defined(__STLSOFT_DOCUMENTATION_SKIP_SECTION)
00327 } // namespace comstl
00328 # else
00329 } // namespace comstl_project
00330 } // namespace stlsoft
00331 # endif /* _STLSOFT_NO_NAMESPACE */
00332 #endif /* !_COMSTL_NO_NAMESPACE */
00333 
00334 /* 
00335 
00336 #endif /* !COMSTL_INCL_H_COMSTL_INTERFACE_TRAITS_STD */
00337 
00338 /* 

STLSoft Libraries documentation © Synesis Software Pty Ltd, 2001-2004