Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-05-27 05:28:14


"Francis ANDRE" <francis.andre_at_[hidden]> writes:

> Hi Robert
>
> I ask again for any help on this point since I am now stack with this error.
>
> Join my previous mail and your answer about this integral_c_tag
>
> ----------------------------------------------------------------------
> Hi Robert
>
> I got this error from error C2039: 'integral_c_tag' : n'est pas membre de
> 'boost::mpl'
>
> Here the beginning of level.hpp I got:
> ----------------------------------------------------------------------------
> ------
> #include <boost/mpl/int.hpp>
> #include <boost/mpl/integral_c.hpp>
> #include <boost/serialization/level_enum.hpp>
> #include <boost/serialization/traits.hpp>
> namespace boost {
> namespace serialization {
> // default serialization implementation level
> template<class T>
> struct implementation_level {
> template<class U>
> struct traits_class_level {
> typedef BOOST_DEDUCED_TYPENAME U::level type;
> };
> typedef mpl::integral_c_tag tag;
> // <== problem here
> // #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
> // typedef
> ----------------------------------------------------------------------------
> --------
>
>>From what I check of the latest HEAD release from CVS, it should be
> integral_c instead of integral_c_tag??
>
> Regards
>
> FA
> _______________________________________________
> Francis ANDRE wrote:
>> Hi Robert
>>
>> I got this error from error C2039: 'integral_c_tag' : n'est pas
>> membre de 'boost::mpl'
>>
>>
>>> From what I check of the latest HEAD release from CVS, it should be
>> integral_c instead of integral_c_tag??
>>
>
> Hmmm - I looked into this and I don't think its an error. level and
> tracking are mpl "integer types" with special "sauce" and I think that this
> is what ineger_c_tag is meant to be used for. Also I note that none of our
> tests flag this as an error. I'm not all together sure about this so anyone
> is free to help out here.

Well, Robert, the docs admittedly never say where you should find
integral_c_tag (it's only mentioned in
http://www.boost.org/libs/mpl/doc/tutorial/numeric-metafunction.html
AFAICT), but it seems pretty obvious to me that you shouldn't expect to
get integral_c_tag just because you #included integral_c.hpp. Maybe

    #include <boost/mpl/integral_c_tag.hpp>

would help?

Francis, if you add that to the beginning of level.hpp, does it fix
the problem?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk