Hi,
I'm currently using the apply metafunction, and I have two different
behaviors depending on the used compiler.
Here is the code :
#include
#include
#include
#include
using namespace boost;
using namespace mpl;
int main ()
{
apply <
std::tr1::unordered_set < _1 , std::equal_to < int>,
std::tr1::hash <int>, std::allocator < int > >,
int
> ::type
foo;
}
With g++ 4.1, there is no error.
With g++ 4.2, icc 9.1, an error occurs:
- g++ :
no class template named 'apply' in 'class
std::tr1::unordered_set, std::equal_to<int>,
std::tr1::hash<int>, std::allocator<int>, false>'
- icc:
class "std::tr1::unordered_set" has no member class
"apply"
: F::template apply<T1>
With g++ 4.3, on some computers, it works, on others it does not.
Can you give me some help to make this work ?
Thanks,
--
Samuel