Boost logo

Boost Users :

Subject: [Boost-users] [Proto] Vector Example Compilation Failure
From: Hossein Haeri (powerprogman_at_[hidden])
Date: 2011-01-01 11:19:01


Dear all,
Trying the Vector example at the Proto documentation:
http://boost.org/doc/libs/1_45_0/doc/html/proto/users_guide.html#boost_proto.users_guide.examples.vector
under Boost 1.42 and GCC 4.5.1 (MinGW32, WinXP, SP3), I get the error message in the PS. Any ideas why this is happening? How would I solve the problem? (BTW, I have already tried the Boost 1.42 version of this example as well.)
TIA,--Hossein

-------------- Build: Debug in Vector ---------------

Compiling: main.cpp
In file included from d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/vector:65:0,
                 from D:\My Documents\My Programmes\Tutorial\Proto\Examples\Vector\main.cpp:10:
d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/bits/stl_vector.h: In instantiation of 'std::_Vector_base<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>':
d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/bits/stl_vector.h:171:5: instantiated from 'std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:85:5: instantiated from 'const int boost::mpl::aux::template_arity_impl<std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>, 1>::value'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:93:5: instantiated from 'const int boost::mpl::aux::template_arity<std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_> >::value'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:98:30: instantiated from 'boost::mpl::aux::template_arity<std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_> >'
D:\Sources\Boost\boost_1_42_0/boost/proto/matches.hpp:247:13: instantiated from 'boost::proto::detail::terminal_matches<const std::vector<int>&, std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_> >'
D:\Sources\Boost\boost_1_42_0/boost/proto/matches.hpp:322:13: [ skipping 7 instantiation contexts ]
D:\Sources\Boost\boost_1_42_0/boost/proto/matches.hpp:505:13: instantiated from 'boost::proto::result_of::matches<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> >, VectorGrammar>'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/nested_type_wknd.hpp:28:1: instantiated from 'boost::mpl::aux::nested_type_wknd<boost::proto::result_of::matches<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> >, VectorGrammar> >'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/and.hpp:29:1: instantiated from 'boost::mpl::aux::and_impl<true, boost::proto::result_of::matches<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> >, VectorGrammar>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/and.hpp:55:1: instantiated from 'boost::mpl::and_<mpl_::bool_<true>, boost::proto::result_of::matches<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> >, VectorGrammar>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >'
D:\Sources\Boost\boost_1_42_0/boost/proto/operators.hpp:219:9: instantiated from 'boost::proto::detail::enable_binary<VectorDomain, IsVector<std::vector<int> >, std::vector<int>, IsVector<std::vector<int> >, std::vector<int>, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> > >'
D:\My Documents\My Programmes\Tutorial\Proto\Examples\Vector\main.cpp:223:34: instantiated from here
d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/bits/stl_vector.h:71:60: error: no class template named 'rebind' in 'struct boost::proto::wildcardns_::_'
d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/bits/stl_vector.h: In instantiation of 'std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>':
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:85:5: instantiated from 'const int boost::mpl::aux::template_arity_impl<std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>, 1>::value'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:93:5: instantiated from 'const int boost::mpl::aux::template_arity<std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_> >::value'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:98:30: instantiated from 'boost::mpl::aux::template_arity<std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_> >'
D:\Sources\Boost\boost_1_42_0/boost/proto/matches.hpp:247:13: instantiated from 'boost::proto::detail::terminal_matches<const std::vector<int>&, std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_> >'
D:\Sources\Boost\boost_1_42_0/boost/proto/matches.hpp:322:13: instantiated from 'boost::proto::detail::matches_<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l>, boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_> >, 0l> >'
D:\Sources\Boost\boost_1_42_0/boost/proto/matches.hpp:505:13: [ skipping 6 instantiation contexts ]
D:\Sources\Boost\boost_1_42_0/boost/proto/matches.hpp:505:13: instantiated from 'boost::proto::result_of::matches<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> >, VectorGrammar>'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/nested_type_wknd.hpp:28:1: instantiated from 'boost::mpl::aux::nested_type_wknd<boost::proto::result_of::matches<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> >, VectorGrammar> >'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/and.hpp:29:1: instantiated from 'boost::mpl::aux::and_impl<true, boost::proto::result_of::matches<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> >, VectorGrammar>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >'
D:\Sources\Boost\boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/and.hpp:55:1: instantiated from 'boost::mpl::and_<mpl_::bool_<true>, boost::proto::result_of::matches<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> >, VectorGrammar>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >'
D:\Sources\Boost\boost_1_42_0/boost/proto/operators.hpp:219:9: instantiated from 'boost::proto::detail::enable_binary<VectorDomain, IsVector<std::vector<int> >, std::vector<int>, IsVector<std::vector<int> >, std::vector<int>, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::multiplies, boost::proto::argsns_::list2<VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> >, VectorExpr<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const std::vector<int>&>, 0l> > >, 2l> > >'
D:\My Documents\My Programmes\Tutorial\Proto\Examples\Vector\main.cpp:223:34: instantiated from here
d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/bits/stl_vector.h:173:58: error: no type named 'value_type' in 'struct boost::proto::wildcardns_::_'
d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/bits/stl_vector.h:196:20: error: no members matching 'std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>::_Base::_M_allocate' in 'struct std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>::_Base'
d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/bits/stl_vector.h:197:20: error: no members matching 'std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>::_Base::_M_deallocate' in 'struct std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>::_Base'
d:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/bits/stl_vector.h:199:20: error: no members matching 'std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>::_Base::_M_get_Tp_allocator' in 'struct std::vector<boost::proto::wildcardns_::_, boost::proto::wildcardns_::_>::_Base'
Process terminated with status 1 (0 minutes, 2 seconds)
7 errors, 0 warnings



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