Opened 14 years ago

Closed 13 years ago

#1894 closed Bugs (fixed)

fusion\support\tag_of.hpp, boost::fusion::traits

Reported by: Mikhail Strelnikov <strelnikov@…> Owned by: Joel de Guzman
Milestone: Boost 1.38.0 Component: fusion
Version: Boost 1.35.0 Severity: Problem
Keywords: deduce_sequence, mpl Cc:

Description

Here is the code I tried to compile with VC++2008:

typedef boost::fusion::traits::deduce_sequence <

boost::mpl::vector<int, char>

::type seq_t;

error C2039: 'is_mpl_sequence' : is not a member of 'boost::fusion::traits::detail'

I think it because 'fusion\support\deduce_sequence.hpp' introduces 'detail' namespace into boost::fusion::traits (instead of boost::fusion).

Attachments (2)

test_deduce_sequence.cpp (289 bytes ) - added by Mikhail Strelnikov <strelnikov@…> 14 years ago.
This file could be used to check that deduce_sequence compiles with boost::mpl::vector as parameter
fusion_tag_of.patch (696 bytes ) - added by Mikhail Strelnikov <strelnikov@…> 14 years ago.
patch for the 'boost/fusion/support/tag_of.hpp' in the unified diff format

Download all attachments as: .zip

Change History (5)

by Mikhail Strelnikov <strelnikov@…>, 14 years ago

Attachment: test_deduce_sequence.cpp added

This file could be used to check that deduce_sequence compiles with boost::mpl::vector as parameter

comment:1 by Mikhail Strelnikov <strelnikov@…>, 14 years ago

There is what I propose to change in 'boost/fusion/support/tag_of.hpp' (I'm not sure if these changes are ideologically correct but all the Boost::Fusion tests are passed with them):

Comparing files tag_of.hpp and TAG_OF.HPP_OLD
***** tag_of.hpp
        struct tag_of
          : mpl::if_< fusion::detail::is_mpl_sequence<Sequence>,
              mpl::identity<mpl_sequence_tag>,
***** TAG_OF.HPP_OLD
        struct tag_of
          : mpl::if_< detail::is_mpl_sequence<Sequence>,
              mpl::identity<mpl_sequence_tag>,
*****

***** tag_of.hpp
        {
            BOOST_MPL_ASSERT_NOT((fusion::detail::is_specialized<Sequence>));
        };
***** TAG_OF.HPP_OLD
        {
            BOOST_MPL_ASSERT_NOT((detail::is_specialized<Sequence>));
        };
*****

Thanks.

by Mikhail Strelnikov <strelnikov@…>, 14 years ago

Attachment: fusion_tag_of.patch added

patch for the 'boost/fusion/support/tag_of.hpp' in the unified diff format

comment:2 by Mikhail Strelnikov <strelnikov@…>, 14 years ago

Milestone: Boost 1.36.0Boost 1.38.0

comment:3 by Joel de Guzman, 13 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.