You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

390 lines
14 KiB

  1. /* /////////////////////////////////////////////////////////////////////////
  2. * File: comstl/internal/interface_traits_std.hpp
  3. *
  4. * Purpose: Standard interface traits.
  5. *
  6. * Created: 25th May 2002
  7. * Updated: 10th August 2009
  8. *
  9. * Home: http://stlsoft.org/
  10. *
  11. * Copyright (c) 2002-2009, Matthew Wilson and Synesis Software
  12. * All rights reserved.
  13. *
  14. * Redistribution and use in source and binary forms, with or without
  15. * modification, are permitted provided that the following conditions are met:
  16. *
  17. * - Redistributions of source code must retain the above copyright notice, this
  18. * list of conditions and the following disclaimer.
  19. * - Redistributions in binary form must reproduce the above copyright notice,
  20. * this list of conditions and the following disclaimer in the documentation
  21. * and/or other materials provided with the distribution.
  22. * - Neither the name(s) of Matthew Wilson and Synesis Software nor the names of
  23. * any contributors may be used to endorse or promote products derived from
  24. * this software without specific prior written permission.
  25. *
  26. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  27. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  28. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  29. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  30. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  31. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  32. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  33. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  34. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  35. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  36. * POSSIBILITY OF SUCH DAMAGE.
  37. *
  38. * ////////////////////////////////////////////////////////////////////// */
  39. /** \file comstl/internal/interface_traits_std.hpp
  40. *
  41. * \brief [C++ only] Contains explicit specialisations of the
  42. * comstl::IID_traits traits class, used by compilers that do not
  43. * support the Microsoft-specific <code>__uuidof</code> operator
  44. * (\ref group__library__utility__com "COM Utility" Library).
  45. */
  46. #ifndef COMSTL_INCL_COMSTL_INTERNAL_HPP_INTERFACE_TRAITS_STD
  47. #define COMSTL_INCL_COMSTL_INTERNAL_HPP_INTERFACE_TRAITS_STD
  48. #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
  49. # define COMSTL_VER_COMSTL_INTERNAL_HPP_INTERFACE_TRAITS_STD_MAJOR 3
  50. # define COMSTL_VER_COMSTL_INTERNAL_HPP_INTERFACE_TRAITS_STD_MINOR 1
  51. # define COMSTL_VER_COMSTL_INTERNAL_HPP_INTERFACE_TRAITS_STD_REVISION 5
  52. # define COMSTL_VER_COMSTL_INTERNAL_HPP_INTERFACE_TRAITS_STD_EDIT 44
  53. #endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
  54. /* /////////////////////////////////////////////////////////////////////////
  55. * Includes
  56. */
  57. #ifndef COMSTL_INCL_COMSTL_H_COMSTL
  58. # include <comstl/comstl.h>
  59. #endif /* !COMSTL_INCL_COMSTL_H_COMSTL */
  60. #ifndef COMSTL_INCL_COMSTL_UTIL_HPP_INTERFACE_TRAITS
  61. # include <comstl/util/interface_traits.hpp>
  62. #endif /* !COMSTL_INCL_COMSTL_UTIL_HPP_INTERFACE_TRAITS */
  63. #ifndef STLSOFT_INCL_H_OAIDL
  64. # define STLSOFT_INCL_H_OAIDL
  65. # include <oaidl.h>
  66. #endif /* !STLSOFT_INCL_H_OAIDL */
  67. /* /////////////////////////////////////////////////////////////////////////
  68. * Namespace
  69. */
  70. #ifndef _COMSTL_NO_NAMESPACE
  71. # if defined(_STLSOFT_NO_NAMESPACE) || \
  72. defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
  73. /* There is no stlsoft namespace, so must define ::comstl */
  74. namespace comstl
  75. {
  76. # else
  77. /* Define stlsoft::comstl_project */
  78. namespace stlsoft
  79. {
  80. namespace comstl_project
  81. {
  82. # endif /* _STLSOFT_NO_NAMESPACE */
  83. #endif /* !_COMSTL_NO_NAMESPACE */
  84. /* /////////////////////////////////////////////////////////////////////////
  85. * Classes
  86. */
  87. /* unknwn.idl */
  88. #if defined(STLSOFT_COMPILER_IS_GCC) && \
  89. defined(_UNKNWN_H)
  90. # define __IUnknown_FWD_DEFINED__
  91. # define __IClassFactory_FWD_DEFINED__
  92. #endif /* STLSOFT_COMPILER_IS_GCC && _UNKNWN_H */
  93. #ifdef __IUnknown_FWD_DEFINED__
  94. COMSTL_IID_TRAITS_DEFINE(IUnknown)
  95. #endif /* __IUnknown_FWD_DEFINED__ */
  96. #ifdef __IClassFactory_FWD_DEFINED__
  97. COMSTL_IID_TRAITS_DEFINE(IClassFactory)
  98. #endif /* __IClassFactory_FWD_DEFINED__ */
  99. /* oaidl.idl */
  100. #if defined(STLSOFT_COMPILER_IS_GCC) && \
  101. defined(_UNKNWN_H)
  102. # define __ITypeLib_FWD_DEFINED__
  103. # define __ITypeLib2_FWD_DEFINED__
  104. # define __ICreateTypeInfo_FWD_DEFINED__
  105. # define __ICreateTypeInfo2_FWD_DEFINED__
  106. # define __ICreateTypeLib_FWD_DEFINED__
  107. # define __ICreateTypeLib2_FWD_DEFINED__
  108. # define __ITypeComp_FWD_DEFINED__
  109. # define __ITypeInfo_FWD_DEFINED__
  110. # define __ITypeInfo2_FWD_DEFINED__
  111. # define __IErrorInfo_FWD_DEFINED__
  112. # define __IDispatch_FWD_DEFINED__
  113. # define __IEnumVARIANT_FWD_DEFINED__
  114. # define __ICreateErrorInfo_FWD_DEFINED__
  115. # define __ISupportErrorInfo_FWD_DEFINED__
  116. # define __IRecordInfo_FWD_DEFINED__
  117. #endif /* STLSOFT_COMPILER_IS_GCC && _UNKNWN_H */
  118. #ifdef __ITypeLib_FWD_DEFINED__
  119. COMSTL_IID_TRAITS_DEFINE(ITypeLib)
  120. #endif /* __ITypeLib_FWD_DEFINED__ */
  121. #ifdef __ITypeLib2_FWD_DEFINED__
  122. COMSTL_IID_TRAITS_DEFINE(ITypeLib2)
  123. #endif /* __ITypeLib2_FWD_DEFINED__ */
  124. #ifdef __ICreateTypeInfo_FWD_DEFINED__
  125. COMSTL_IID_TRAITS_DEFINE(ICreateTypeInfo)
  126. #endif /* __ICreateTypeInfo_FWD_DEFINED__ */
  127. #ifdef __ICreateTypeInfo2_FWD_DEFINED__
  128. COMSTL_IID_TRAITS_DEFINE(ICreateTypeInfo2)
  129. #endif /* __ICreateTypeInfo2_FWD_DEFINED__ */
  130. #ifdef __ICreateTypeLib_FWD_DEFINED__
  131. COMSTL_IID_TRAITS_DEFINE(ICreateTypeLib)
  132. #endif /* __ICreateTypeLib_FWD_DEFINED__ */
  133. #ifdef __ICreateTypeLib2_FWD_DEFINED__
  134. COMSTL_IID_TRAITS_DEFINE(ICreateTypeLib2)
  135. #endif /* __ICreateTypeLib2_FWD_DEFINED__ */
  136. #ifdef __ITypeComp_FWD_DEFINED__
  137. COMSTL_IID_TRAITS_DEFINE(ITypeComp)
  138. #endif /* __ITypeComp_FWD_DEFINED__ */
  139. #ifdef __ITypeInfo_FWD_DEFINED__
  140. COMSTL_IID_TRAITS_DEFINE(ITypeInfo)
  141. #endif /* __ITypeInfo_FWD_DEFINED__ */
  142. #ifdef __ITypeInfo2_FWD_DEFINED__
  143. COMSTL_IID_TRAITS_DEFINE(ITypeInfo2)
  144. #endif /* __ITypeInfo2_FWD_DEFINED__ */
  145. #ifdef __IErrorInfo_FWD_DEFINED__
  146. COMSTL_IID_TRAITS_DEFINE(IErrorInfo)
  147. #endif /* __IErrorInfo_FWD_DEFINED__ */
  148. #ifdef __IDispatch_FWD_DEFINED__
  149. COMSTL_IID_TRAITS_DEFINE(IDispatch)
  150. #endif /* __IDispatch_FWD_DEFINED__ */
  151. #ifdef __IEnumVARIANT_FWD_DEFINED__
  152. COMSTL_IID_TRAITS_DEFINE(IEnumVARIANT)
  153. #endif /* __IEnumVARIANT_FWD_DEFINED__ */
  154. #ifdef __ICreateErrorInfo_FWD_DEFINED__
  155. COMSTL_IID_TRAITS_DEFINE(ICreateErrorInfo)
  156. #endif /* __ICreateErrorInfo_FWD_DEFINED__ */
  157. #ifdef __ISupportErrorInfo_FWD_DEFINED__
  158. COMSTL_IID_TRAITS_DEFINE(ISupportErrorInfo)
  159. #endif /* __ISupportErrorInfo_FWD_DEFINED__ */
  160. #ifdef __IRecordInfo_FWD_DEFINED__
  161. COMSTL_IID_TRAITS_DEFINE(IRecordInfo)
  162. #endif /* __IRecordInfo_FWD_DEFINED__ */
  163. /* objidl.idl */
  164. #if defined(STLSOFT_COMPILER_IS_GCC) && \
  165. defined(_UNKNWN_H)
  166. # define __IMarshal_FWD_DEFINED__
  167. # define __IMalloc_FWD_DEFINED__
  168. # define __IMallocSpy_FWD_DEFINED__
  169. # define __IStdMarshalInfo_FWD_DEFINED__
  170. # define __IExternalConnection_FWD_DEFINED__
  171. //# define __IMultiQI_FWD_DEFINED__
  172. # define __IEnumUnknown_FWD_DEFINED__
  173. # define __IBindCtx_FWD_DEFINED__
  174. # define __IEnumMoniker_FWD_DEFINED__
  175. # define __IRunnableObject_FWD_DEFINED__
  176. # define __IRunningObjectTable_FWD_DEFINED__
  177. # define __IPersist_FWD_DEFINED__
  178. # define __IPersistStream_FWD_DEFINED__
  179. # define __IMoniker_FWD_DEFINED__
  180. # define __IROTData_FWD_DEFINED__
  181. # define __IEnumString_FWD_DEFINED__
  182. # define __ISequentialStream_FWD_DEFINED__
  183. # define __IStream_FWD_DEFINED__
  184. # define __IEnumSTATSTG_FWD_DEFINED__
  185. # define __IStorage_FWD_DEFINED__
  186. # define __IPersistFile_FWD_DEFINED__
  187. # define __IPersistStorage_FWD_DEFINED__
  188. # define __ILockBytes_FWD_DEFINED__
  189. # define __IEnumFORMATETC_FWD_DEFINED__
  190. # define __IEnumSTATDATA_FWD_DEFINED__
  191. # define __IRootStorage_FWD_DEFINED__
  192. # define __IAdviseSink_FWD_DEFINED__
  193. # define __IAdviseSink2_FWD_DEFINED__
  194. # define __IDataObject_FWD_DEFINED__
  195. # define __IDataAdviseHolder_FWD_DEFINED__
  196. # define __IMessageFilter_FWD_DEFINED__
  197. # define __IRpcChannelBuffer_FWD_DEFINED__
  198. # define __IRpcProxyBuffer_FWD_DEFINED__
  199. # define __IRpcStubBuffer_FWD_DEFINED__
  200. # define __IPSFactoryBuffer_FWD_DEFINED__
  201. # define __IChannelHook_FWD_DEFINED__
  202. # define __IPropertyStorage_FWD_DEFINED__
  203. # define __IPropertySetStorage_FWD_DEFINED__
  204. # define __IEnumSTATPROPSTG_FWD_DEFINED__
  205. # define __IEnumSTATPROPSETSTG_FWD_DEFINED__
  206. # define __IClientSecurity_FWD_DEFINED__
  207. # define __IServerSecurity_FWD_DEFINED__
  208. # define __IClassActivator_FWD_DEFINED__
  209. # define __IFillLockBytes_FWD_DEFINED__
  210. # define __IProgressNotify_FWD_DEFINED__
  211. # define __ILayoutStorage_FWD_DEFINED__
  212. #endif /* STLSOFT_COMPILER_IS_GCC && _UNKNWN_H */
  213. #ifdef __IMarshal_FWD_DEFINED__
  214. COMSTL_IID_TRAITS_DEFINE(IMarshal)
  215. #endif /* __IMarshal_FWD_DEFINED__ */
  216. #ifdef __IMalloc_FWD_DEFINED__
  217. COMSTL_IID_TRAITS_DEFINE(IMalloc)
  218. #endif /* __IMalloc_FWD_DEFINED__ */
  219. #ifdef __IMallocSpy_FWD_DEFINED__
  220. COMSTL_IID_TRAITS_DEFINE(IMallocSpy)
  221. #endif /* __IMallocSpy_FWD_DEFINED__ */
  222. #ifdef __IStdMarshalInfo_FWD_DEFINED__
  223. COMSTL_IID_TRAITS_DEFINE(IStdMarshalInfo)
  224. #endif /* __IStdMarshalInfo_FWD_DEFINED__ */
  225. #ifdef __IExternalConnection_FWD_DEFINED__
  226. COMSTL_IID_TRAITS_DEFINE(IExternalConnection)
  227. #endif /* __IExternalConnection_FWD_DEFINED__ */
  228. #ifdef __IMultiQI_FWD_DEFINED__
  229. COMSTL_IID_TRAITS_DEFINE(IMultiQI)
  230. #endif /* __IMultiQI_FWD_DEFINED__ */
  231. #ifdef __IEnumUnknown_FWD_DEFINED__
  232. COMSTL_IID_TRAITS_DEFINE(IEnumUnknown)
  233. #endif /* __IEnumUnknown_FWD_DEFINED__ */
  234. #ifdef __IBindCtx_FWD_DEFINED__
  235. COMSTL_IID_TRAITS_DEFINE(IBindCtx)
  236. #endif /* __IBindCtx_FWD_DEFINED__ */
  237. #ifdef __IEnumMoniker_FWD_DEFINED__
  238. COMSTL_IID_TRAITS_DEFINE(IEnumMoniker)
  239. #endif /* __IEnumMoniker_FWD_DEFINED__ */
  240. #ifdef __IRunnableObject_FWD_DEFINED__
  241. COMSTL_IID_TRAITS_DEFINE(IRunnableObject)
  242. #endif /* __IRunnableObject_FWD_DEFINED__ */
  243. #ifdef __IRunningObjectTable_FWD_DEFINED__
  244. COMSTL_IID_TRAITS_DEFINE(IRunningObjectTable)
  245. #endif /* __IRunningObjectTable_FWD_DEFINED__ */
  246. #ifdef __IPersist_FWD_DEFINED__
  247. COMSTL_IID_TRAITS_DEFINE(IPersist)
  248. #endif /* __IPersist_FWD_DEFINED__ */
  249. #ifdef __IPersistStream_FWD_DEFINED__
  250. COMSTL_IID_TRAITS_DEFINE(IPersistStream)
  251. #endif /* __IPersistStream_FWD_DEFINED__ */
  252. #ifdef __IMoniker_FWD_DEFINED__
  253. COMSTL_IID_TRAITS_DEFINE(IMoniker)
  254. #endif /* __IMoniker_FWD_DEFINED__ */
  255. #ifdef __IROTData_FWD_DEFINED__
  256. COMSTL_IID_TRAITS_DEFINE(IROTData)
  257. #endif /* __IROTData_FWD_DEFINED__ */
  258. #ifdef __IEnumString_FWD_DEFINED__
  259. COMSTL_IID_TRAITS_DEFINE(IEnumString)
  260. #endif /* __IEnumString_FWD_DEFINED__ */
  261. #ifdef __ISequentialStream_FWD_DEFINED__
  262. COMSTL_IID_TRAITS_DEFINE(ISequentialStream)
  263. #endif /* __ISequentialStream_FWD_DEFINED__ */
  264. #ifdef __IStream_FWD_DEFINED__
  265. COMSTL_IID_TRAITS_DEFINE(IStream)
  266. #endif /* __IStream_FWD_DEFINED__ */
  267. #ifdef __IEnumSTATSTG_FWD_DEFINED__
  268. COMSTL_IID_TRAITS_DEFINE(IEnumSTATSTG)
  269. #endif /* __IEnumSTATSTG_FWD_DEFINED__ */
  270. #ifdef __IStorage_FWD_DEFINED__
  271. COMSTL_IID_TRAITS_DEFINE(IStorage)
  272. #endif /* __IStorage_FWD_DEFINED__ */
  273. #ifdef __IPersistFile_FWD_DEFINED__
  274. COMSTL_IID_TRAITS_DEFINE(IPersistFile)
  275. #endif /* __IPersistFile_FWD_DEFINED__ */
  276. #ifdef __IPersistStorage_FWD_DEFINED__
  277. COMSTL_IID_TRAITS_DEFINE(IPersistStorage)
  278. #endif /* __IPersistStorage_FWD_DEFINED__ */
  279. #ifdef __ILockBytes_FWD_DEFINED__
  280. COMSTL_IID_TRAITS_DEFINE(ILockBytes)
  281. #endif /* __ILockBytes_FWD_DEFINED__ */
  282. #ifdef __IEnumFORMATETC_FWD_DEFINED__
  283. COMSTL_IID_TRAITS_DEFINE(IEnumFORMATETC)
  284. #endif /* __IEnumFORMATETC_FWD_DEFINED__ */
  285. #ifdef __IEnumSTATDATA_FWD_DEFINED__
  286. COMSTL_IID_TRAITS_DEFINE(IEnumSTATDATA)
  287. #endif /* __IEnumSTATDATA_FWD_DEFINED__ */
  288. #ifdef __IRootStorage_FWD_DEFINED__
  289. COMSTL_IID_TRAITS_DEFINE(IRootStorage)
  290. #endif /* __IRootStorage_FWD_DEFINED__ */
  291. #ifdef __IAdviseSink_FWD_DEFINED__
  292. COMSTL_IID_TRAITS_DEFINE(IAdviseSink)
  293. #endif /* __IAdviseSink_FWD_DEFINED__ */
  294. #ifdef __IAdviseSink2_FWD_DEFINED__
  295. COMSTL_IID_TRAITS_DEFINE(IAdviseSink2)
  296. #endif /* __IAdviseSink2_FWD_DEFINED__ */
  297. #ifdef __IDataObject_FWD_DEFINED__
  298. COMSTL_IID_TRAITS_DEFINE(IDataObject)
  299. #endif /* __IDataObject_FWD_DEFINED__ */
  300. #ifdef __IDataAdviseHolder_FWD_DEFINED__
  301. COMSTL_IID_TRAITS_DEFINE(IDataAdviseHolder)
  302. #endif /* __IDataAdviseHolder_FWD_DEFINED__ */
  303. #ifdef __IMessageFilter_FWD_DEFINED__
  304. COMSTL_IID_TRAITS_DEFINE(IMessageFilter)
  305. #endif /* __IMessageFilter_FWD_DEFINED__ */
  306. #ifdef __IRpcChannelBuffer_FWD_DEFINED__
  307. COMSTL_IID_TRAITS_DEFINE(IRpcChannelBuffer)
  308. #endif /* __IRpcChannelBuffer_FWD_DEFINED__ */
  309. #ifdef __IRpcProxyBuffer_FWD_DEFINED__
  310. COMSTL_IID_TRAITS_DEFINE(IRpcProxyBuffer)
  311. #endif /* __IRpcProxyBuffer_FWD_DEFINED__ */
  312. #ifdef __IRpcStubBuffer_FWD_DEFINED__
  313. COMSTL_IID_TRAITS_DEFINE(IRpcStubBuffer)
  314. #endif /* __IRpcStubBuffer_FWD_DEFINED__ */
  315. #ifdef __IPSFactoryBuffer_FWD_DEFINED__
  316. COMSTL_IID_TRAITS_DEFINE(IPSFactoryBuffer)
  317. #endif /* __IPSFactoryBuffer_FWD_DEFINED__ */
  318. #ifdef __IChannelHook_FWD_DEFINED__
  319. COMSTL_IID_TRAITS_DEFINE(IChannelHook)
  320. #endif /* __IChannelHook_FWD_DEFINED__ */
  321. #ifdef __IPropertyStorage_FWD_DEFINED__
  322. COMSTL_IID_TRAITS_DEFINE(IPropertyStorage)
  323. #endif /* __IPropertyStorage_FWD_DEFINED__ */
  324. #ifdef __IPropertySetStorage_FWD_DEFINED__
  325. COMSTL_IID_TRAITS_DEFINE(IPropertySetStorage)
  326. #endif /* __IPropertySetStorage_FWD_DEFINED__ */
  327. #ifdef __IEnumSTATPROPSTG_FWD_DEFINED__
  328. COMSTL_IID_TRAITS_DEFINE(IEnumSTATPROPSTG)
  329. #endif /* __IEnumSTATPROPSTG_FWD_DEFINED__ */
  330. #ifdef __IEnumSTATPROPSETSTG_FWD_DEFINED__
  331. COMSTL_IID_TRAITS_DEFINE(IEnumSTATPROPSETSTG)
  332. #endif /* __IEnumSTATPROPSETSTG_FWD_DEFINED__ */
  333. #ifdef __IClientSecurity_FWD_DEFINED__
  334. COMSTL_IID_TRAITS_DEFINE(IClientSecurity)
  335. #endif /* __IClientSecurity_FWD_DEFINED__ */
  336. #ifdef __IServerSecurity_FWD_DEFINED__
  337. COMSTL_IID_TRAITS_DEFINE(IServerSecurity)
  338. #endif /* __IServerSecurity_FWD_DEFINED__ */
  339. #ifdef __IClassActivator_FWD_DEFINED__
  340. COMSTL_IID_TRAITS_DEFINE(IClassActivator)
  341. #endif /* __IClassActivator_FWD_DEFINED__ */
  342. #ifdef __IFillLockBytes_FWD_DEFINED__
  343. COMSTL_IID_TRAITS_DEFINE(IFillLockBytes)
  344. #endif /* __IFillLockBytes_FWD_DEFINED__ */
  345. #ifdef __IProgressNotify_FWD_DEFINED__
  346. COMSTL_IID_TRAITS_DEFINE(IProgressNotify)
  347. #endif /* __IProgressNotify_FWD_DEFINED__ */
  348. #ifdef __ILayoutStorage_FWD_DEFINED__
  349. COMSTL_IID_TRAITS_DEFINE(ILayoutStorage)
  350. #endif /* __ILayoutStorage_FWD_DEFINED__ */
  351. /* ////////////////////////////////////////////////////////////////////// */
  352. #ifndef _COMSTL_NO_NAMESPACE
  353. # if defined(_STLSOFT_NO_NAMESPACE) || \
  354. defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
  355. } // namespace comstl
  356. # else
  357. } // namespace comstl_project
  358. } // namespace stlsoft
  359. # endif /* _STLSOFT_NO_NAMESPACE */
  360. #endif /* !_COMSTL_NO_NAMESPACE */
  361. /* ////////////////////////////////////////////////////////////////////// */
  362. #endif /* !COMSTL_INCL_COMSTL_INTERNAL_HPP_INTERFACE_TRAITS_STD */
  363. /* ///////////////////////////// end of file //////////////////////////// */