Skip to content

Instantly share code, notes, and snippets.

@kikairoya
Created March 17, 2011 03:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kikairoya/873766 to your computer and use it in GitHub Desktop.
Save kikairoya/873766 to your computer and use it in GitHub Desktop.
**** g++-4.5 ****
regular_example.cpp:41:85: error: no match for 'operator|' in 'boost::range::iteration(const Init&, Next) [with Init = int, Next = boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > >](boost::range::regular(F) [with F = boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::m
ultiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, typename boost::range::result_of::regular<F>::type = boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > >]()) | boost::adaptors::{anonymous}::taken.boost::range_detail::forwarder<Holder>::operator() [with T = int, Holder = boost::range_detail::taken_holder](5)'
regular_example.cpp:41:85: note: candidates are:
/usr/local/boost/boost/lambda/detail/operators.hpp:117:1: note: template<class ArgA, class ArgB> const boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::bitwise_action<boost::lambda::or_action>, boost::tuples::tuple<boost::lambda::lambda_functor<Arg>, boost::lambda::lambda_functor<Arg> > > > boost::lambda::operator|(const boost::lambda::lambda_functor<Arg>&, const boost::lambda::lambda_functor<Arg>&)
/usr/local/boost/boost/lambda/detail/operators.hpp:117:1: note: template<class A, class Arg> const boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::bitwise_action<boost::lambda::or_action>, boost::tuples::tuple<typename boost::lambda::const_copy_argument<const A>::type, boost::lambda::lambda_functor<Arg> > > > boost::lambda::operator|(const A&, const boost::lambda::lambda_functor<Arg>&)
/usr/local/boost/boost/lambda/detail/operators.hpp:117:1: note: template<class Arg, class B> const boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::bitwise_action<boost::lambda::or_action>, boost::tuples::tuple<boost::lambda::lambda_functor<Arg>, typename boost::lambda::const_copy_argument<const B>::type> > > boost::lambda::operator|(const boost::lambda::lambda_functor<Arg>&, const B&)
../../../boost/range/adaptor/taken.hpp:98:2: note: typename boost::range_detail::taken_range<const SinglePassRng>::result_type boost::range_detail::operator|(const SinglePassRng&, const boost::range_detail::taken_holder<typename boost::range_difference<Range>::type>&) [with SinglePassRng = boost::iterator_range<boost::range::detail::iteration_iterator<int, boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > > >, typename boost::range_detail::taken_range<const SinglePassRng>::result_type = const boost::iterator_range<boost::adaptors::detail::take_while_iterator<boost::range::detail::iteration_iterator<int, boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > >, boost::range_detail::taken_detail::countdown<long int> > >, typename boost::range_difference<Range>::type = long int]
../../../boost/range/adaptor/taken.hpp:98:2: note: no known conversion for argument 2 from 'boost::range_detail::taken_holder<int>' to 'const boost::range_detail::taken_holder<long int>&'
../../../boost/range/adaptor/taken.hpp:90:2: note: typename boost::range_detail::taken_range<SinglePassRng>::result_type boost::range_detail::operator|(SinglePassRng&, const boost::range_detail::taken_holder<typename boost::range_difference<Range>::type>&) [with SinglePassRng = boost::iterator_range<boost::range::detail::iteration_iterator<int, boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > > >, typename boost::range_detail::taken_range<SinglePassRng>::result_type = const boost::iterator_range<boost::adaptors::detail::take_while_iterator<boost::range::detail::iteration_iterator<int, boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > >, boost::range_detail::taken_detail::countdown<long int> > >, typename boost::range_difference<Range>::type = long int]
../../../boost/range/adaptor/taken.hpp:90:2: note: no known conversion for argument 1 from 'boost::iterator_range<boost::range::detail::iteration_iterator<int, boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > > >' to 'boost::iterator_range<boost::range::detail::iteration_iterator<int, boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > > >&'
**** clang-svn-head ****
regular_example.cpp:41:59: error: invalid operands to binary expression ('iterator_range<detail::iteration_iterator<int,
indirect_functor<shared_ptr<lambda_functor<lambda_functor_base<arithmetic_action<multiply_action>,
tuple<lambda_functor<placeholder<FIRST> >, const int, null_type, null_type, null_type, null_type, null_type, null_type,
null_type, null_type> > > > > > >' and 'taken_holder<int>')
for_each_(boost::iteration(1, boost::regular(_1 * 2)) | boost::adaptors::taken(5), disp);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from regular_example.cpp:13:
../../../boost/range/adaptor/taken.hpp:98:2: note: candidate function [with SinglePassRng =
boost::iterator_range<boost::range::detail::iteration_iterator<int,
boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<FIRST> >, const int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > > >] not viable: no known conversion
from 'taken_holder<int>' to 'const taken_holder<typename range_difference<iterator_range<iteration_iterator<int,
indirect_functor<shared_ptr<lambda_functor<lambda_functor_base<arithmetic_action<multiply_action>,
tuple<lambda_functor<placeholder<FIRST> >, const int, null_type, null_type, null_type, null_type, null_type, null_type,
null_type, null_type> > > > > > > >::type>' for 2nd argument
operator|( const SinglePassRng& r,
^
../../../boost/range/adaptor/taken.hpp:90:2: note: candidate function [with SinglePassRng =
boost::iterator_range<boost::range::detail::iteration_iterator<int,
boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<FIRST> >, const int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > > >] not viable: no known conversion
from 'iterator_range<detail::iteration_iterator<int,
indirect_functor<shared_ptr<lambda_functor<lambda_functor_base<arithmetic_action<multiply_action>,
tuple<lambda_functor<placeholder<FIRST> >, const int, null_type, null_type, null_type, null_type, null_type, null_type,
null_type, null_type> > > > > > >' to 'boost::iterator_range<boost::range::detail::iteration_iterator<int,
boost::range::detail::indirect_functor<boost::shared_ptr<boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::arithmetic_action<boost::lambda::multiply_action>,
boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::placeholder<FIRST> >, const int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > > > > > &' for 1st argument
operator|( SinglePassRng& r,
^
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment