[omniORB] STL and VC++

Sai-Lai Lo S.Lo@uk.research.att.com
18 Aug 1999 10:07:23 +0100


The hash function is within the namespace omniORB. I don't see how it can
clash with the definition in the STL library. May be you have used "using=
"
namespace for STL in your code before the omniORB header is included.

>>>>> Mike Bendickson writes:

> Has anyone successfully gotten the Standard Template Library (SGI port)=
 to mix with omniORB?=A0 They
> seem to be colliding on the definition of hash.

> =A0

> d:\omniorb_2.7.1\include\omniorb2\omniorb.h(190) : error C2955: 'hash' =
: use of class template
> requires template argument list
> =A0=A0=A0=A0=A0=A0=A0 d:\stl\stl_hash_fun.h(40) : see declaration of 'h=
ash'

> =A0

> The omniorb.h line:

> _CORBA_MODULE_FN int hash(objectKey& k);=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 //

> =A0

> The stl_hash_fun.h line:
> template <class _Key> struct hash { };

> =A0

> This would seem to be a problem.=A0 Any way around it without completel=
y separating my CORBA server
> code with my STL code?


--=20
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.c=
om=20
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND