Boost logo

Boost :

From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2005-10-13 01:14:28


The following snippet

#include <boost/mpl/set/set0.hpp>
#include <boost/mpl/map.hpp>

int main()
{
   return 0;
}

produces the following in GCC 3.2:

In file included from /usr/local/boost_1_33_0/boost/mpl/map/map0.hpp:18,

                 from
/usr/local/boost_1_33_0/boost/mpl/map/map10.hpp:19,
                 from
/usr/local/boost_1_33_0/boost/mpl/map/map20.hpp:19,
                 from /usr/local/boost_1_33_0/boost/mpl/map.hpp:36,
                 from mpl_iterator.cpp:2:
/usr/local/boost_1_33_0/boost/mpl/map/aux_/contains_impl.hpp:34: no
class
   template named `apply' in `struct
   boost::mpl::at_impl<boost::mpl::aux::map_tag>'
/usr/local/boost_1_33_0/boost/mpl/map/aux_/contains_impl.hpp:35: `type'
is not
   a class or namespace
/usr/local/boost_1_33_0/boost/mpl/map/aux_/contains_impl.hpp:35: ISO C++

   forbids declaration of `type name' with no type
In file included from
/usr/local/boost_1_33_0/boost/mpl/map/aux_/erase_key_impl.
hpp:19,
                 from
/usr/local/boost_1_33_0/boost/mpl/map/aux_/erase_impl.hpp:
19,
                 from /usr/local/boost_1_33_0/boost/mpl/map/map0.hpp:22,

                 from
/usr/local/boost_1_33_0/boost/mpl/map/map10.hpp:19,
                 from
/usr/local/boost_1_33_0/boost/mpl/map/map20.hpp:19,
                 from /usr/local/boost_1_33_0/boost/mpl/map.hpp:36,
                 from mpl_iterator.cpp:2:
/usr/local/boost_1_33_0/boost/mpl/map/aux_/has_key_impl.hpp:33: no class

   template named `apply' in `struct
   boost::mpl::at_impl<boost::mpl::aux::map_tag>'
/usr/local/boost_1_33_0/boost/mpl/map/aux_/has_key_impl.hpp:34: `type'
is not a

   class or namespace
/usr/local/boost_1_33_0/boost/mpl/map/aux_/has_key_impl.hpp:34: ISO C++
forbids

   declaration of `type name' with no type
In file included from
/usr/local/boost_1_33_0/boost/mpl/map/aux_/begin_end_impl.
hpp:20,
                 from /usr/local/boost_1_33_0/boost/mpl/map/map0.hpp:30,

                 from
/usr/local/boost_1_33_0/boost/mpl/map/map10.hpp:19,
                 from
/usr/local/boost_1_33_0/boost/mpl/map/map20.hpp:19,
                 from /usr/local/boost_1_33_0/boost/mpl/map.hpp:36,
                 from mpl_iterator.cpp:2:
/usr/local/boost_1_33_0/boost/mpl/map/aux_/iterator.hpp:41: parse error
before
   `<' token
/usr/local/boost_1_33_0/boost/mpl/map/aux_/iterator.hpp:62: parse error
before
   `<' token

but if I reverse the order of the #includes, everything works OK. I
suspect this
problem is also showing in the GCC 3.4.x family.

Thank you,

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo


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