Boost logo

Boost Users :

From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2007-07-05 05:07:52


Hartmut,

I got the latest releases of Spirit and Wave, but unfortunately they break my code. The problem
reported by VS 8 Compiler is mainly in the transform_iterator usage:

E:\libraries\boost\include\boost-1_34\boost/iterator/transform_iterator.hpp(91) : error C2872:
'detail' : ambiguous symbol
        could be 'boost::detail'
        or 'boost::spirit::detail'
        E:\libraries\boost\include\boost-1_34\boost/wave/util/cpp_iterator.hpp(1214) : see
reference to class template instantiation
'boost::transform_iterator<UnaryFunction,Iterator,Reference>' being compiled
        with
        [
            UnaryFunction=const boost::wave::cpplexer::lex_token<> &(__cdecl *)(const
boost::spirit::tree_node<boost::spirit::node_val_data<boost::wave::cpplexer::lex_iterator<token_groups::token_type>,boost::spirit::nil_t>>
&),
            Iterator=const_child_iterator_t,
            Reference=const boost::wave::cpplexer::lex_token<> &
        ]
        E:\libraries\boost\include\boost-1_34\boost/wave/util/cpp_iterator.hpp(1099) : while
compiling class template member function 'bool
boost::wave::impl::pp_iterator_functor<ContextT>::dispatch_directive(const
boost::spirit::tree_parse_info<IteratorT,NodeFactoryT> &,const
boost::wave::cpplexer::lex_token<> &,const std::list<_Ty,_Ax> &)'
        with
        [
            ContextT=boost::wave::context<token_groups::str_iter_type,token_groups::lex_iter_type,token_groups::input_policy,token_groups::hooking_policy>,
IteratorT=boost::wave::cpplexer::lex_iterator<token_groups::token_type>,
NodeFactoryT=boost::wave::grammars::cpp_grammar_gen<boost::wave::cpplexer::lex_iterator<token_groups::token_type>,std::list<boost::wave::cpplexer::lex_token<>,boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<>>>>::node_factory_type,
_Ty=boost::wave::cpplexer::lex_token<>,
            _Ax=boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<>>
        ]
        E:\libraries\boost\include\boost-1_34\boost/wave/util/cpp_iterator.hpp(789) : while
compiling class template member function 'const boost::wave::cpplexer::lex_token<>
&boost::wave::impl::pp_iterator_functor<ContextT>::pp_token(bool)'
        with
        [
            ContextT=boost::wave::context<token_groups::str_iter_type,token_groups::lex_iter_type,token_groups::input_policy,token_groups::hooking_policy>
        ]
        E:\libraries\boost\include\boost-1_34\boost/wave/util/cpp_iterator.hpp(577) : while
compiling class template member function 'const boost::wave::cpplexer::lex_token<>
&boost::wave::impl::pp_iterator_functor<ContextT>::get_next_token(void)'
        with
        [
            ContextT=boost::wave::context<token_groups::str_iter_type,token_groups::lex_iter_type,token_groups::input_policy,token_groups::hooking_policy>
        ]
        E:\libraries\boost\include\boost-1_34\boost/wave/util/cpp_iterator.hpp(459) : while
compiling class template member function 'const boost::wave::cpplexer::lex_token<>
&boost::wave::impl::pp_iterator_functor<ContextT>::operator ()(void)'
        with
        [
            ContextT=boost::wave::context<token_groups::str_iter_type,token_groups::lex_iter_type,token_groups::input_policy,token_groups::hooking_policy>
        ]
        E:\libraries\boost\include\boost-1_34\boost/spirit/iterator/multi_pass.hpp(877) : while
compiling class template member function
'boost::spirit::multi_pass<InputT,InputPolicy>::multi_pass(InputT)'
        with
        [
            InputT=boost::wave::impl::pp_iterator_functor<boost::wave::context<token_groups::str_iter_type,token_groups::lex_iter_type,token_groups::input_policy,token_groups::hooking_policy>>,
InputPolicy=boost::wave::util::functor_input
        ]
        E:\libraries\boost\include\boost-1_34\boost/spirit/iterator/multi_pass.hpp(942) : while
compiling class template member function
'boost::spirit::multi_pass<InputT,InputPolicy>::multi_pass(const
boost::spirit::multi_pass<InputT,InputPolicy> &)'
        with
        [
            InputT=boost::wave::impl::pp_iterator_functor<boost::wave::context<token_groups::str_iter_type,token_groups::lex_iter_type,token_groups::input_policy,token_groups::hooking_policy>>,
InputPolicy=boost::wave::util::functor_input
        ]
        E:\libraries\boost\include\boost-1_34\boost/wave/util/cpp_iterator.hpp(2217) : see
reference to class template instantiation 'boost::spirit::multi_pass<InputT,InputPolicy>' being
compiled
        with
        [
            InputT=boost::wave::impl::pp_iterator_functor<boost::wave::context<token_groups::str_iter_type,token_groups::lex_iter_type,token_groups::input_policy,token_groups::hooking_policy>>,
InputPolicy=boost::wave::util::functor_input
        ]
        ..\..\..\parser\header_processor.cpp(159) : see reference to class template instantiation
'boost::wave::pp_iterator<ContextT>' being compiled
        with
        [
            ContextT=boost::wave::context<token_groups::str_iter_type,token_groups::lex_iter_type,token_groups::input_policy,token_groups::hooking_policy>
        ]

With Kind Regards,

Ovanes Markarian

On Thu, July 5, 2007 00:04, Hartmut Kaiser wrote:
[...]

With Kind Regards,

Ovanes Markarian


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net