This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 3.4.6 to GCC 4.1.1 migration


Can you give a complete code sample?

Nasredine Semmar schrieb:
Le vendredi 25 mai 2007 13:53, vous avez écrit :

It's the STL Find function but the compiler does not recognize it.

I added #include <algorithm> but I got the same error.

Here is the class where the function find is called:

#if __GNUC__>2 #include <ext/hash_map>
using __gnu_cxx::hash_map;
using __gnu_cxx::hash;
#else
#include <hash_map>
#endif
template<class A,class B>
class leda_h_array : public MY_HASH_BASE
{
private:
B init;
public:
leda_h_array() {}
leda_h_array(const B&_init)
: MY_HASH_BASE(),init(_init) {}
bool defined(const A&a) const
{ return find(a)!= this->end(); }
const B&operator[](const A&a)const
{ typename MY_HASH_BASE::const_iterator pos=find(a);
if( pos== this->end() )
return init;
else
return pos->second;
}
B&operator[](const A&a)
{ typename MY_HASH_BASE::iterator pos=find(a);
if( pos== this->end() )
{
insert(typename MY_HASH_BASE::value_type(a,init));
pos=find(a);
iassert(pos!= this->end());
}
return pos->second;
}
};


Thanks,

Nasredine


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]