$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2003-09-24 03:22:21
my code -> utility -> type_traits -> mpl -> ERRORDirk Griffioen wrote:
> Hi all,
>
> why does boost/type_traits/detail/bool_trait_def.hpp include
> boost/mpl/bool.hpp ??
Because otherwise it would have to duplicate its content.
> which means I get a link ERROR: Undefined symbol:
> boost::mpl::bool_<0>::value
Which probably means your compiler is wrong.
> in code that seemingly nowhere includes anything near MPL (on
> AIX 433 with xlc6 and STLport), but merely mortal stuff like
> boost/shared_ptr or boost/utility.
>
> o, I forgot, utility passes type_traits passes, well, mpl.
>
> Yes I tried, utility_fwd where applicable and also outcommenting
> some stuff in utility.hpp and No I do think everything will work
> at once. But I do no understand why I have to suffer from this
> from my point of view uneccesary dependancy.
You are not suffering from a dependency, you are suffering from a compiler
bug. 'mpl::bool_<0>' or 'whatever<0>', you'd still get the same error.
> Can anyone please help? Or give me a pointer say
> "USE_THIS_HELPFULL_MACRO"?
Are you able to compile and link this one:
template< bool C_ > struct bool_
{
static bool const value = C_;
};
template< bool C_ > bool const bool_<C_>::value;
template< typename T > struct is_const : bool_<false> {};
template< typename T > struct is_const<T const> : bool_<true> {};
template< typename T, bool C_ = is_const<T>::value >
struct something {};
int main()
{
something<int> volatile s;
return 0;
}
?
> Thanks in advance..
>
> (MPL http://www.boost.org/libs/mpl/doc/index.html#details.depend
> mentions it depends ON the type_traits lib, and not the other
> way around, if both - isn't this circular?)
It is, and it isn't. It has nothing to do with your problem, though.
Aleksey