Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- floop@pine /tmp $ g++ concept.cpp
- In file included from /usr/include/range/v3/range/concepts.hpp:30,
- from /usr/include/range/v3/action/concepts.hpp:23,
- from /usr/include/range/v3/action/action.hpp:23,
- from /usr/include/range/v3/action.hpp:17,
- from /usr/include/range/v3/all.hpp:17,
- from concept.cpp:1:
- /usr/include/range/v3/range/access.hpp: In instantiation of ‘constexpr const bool ranges::container<const char*>’:
- concept.cpp:7:1: required by substitution of ‘template<class Rng, class CPP_true_, typename std::enable_if<(container<Rng> && CPP_true_{}), int>::type <anonymous> > void foo(Rng) [with Rng = const char*; CPP_true_ = std::integral_constant<bool, true>; typename std::enable_if<(container<Rng> && CPP_true_{}), int>::type <anonymous> = <missing>]’
- concept.cpp:14:14: required from here
- /usr/include/range/v3/range/access.hpp:665:38: error: no match for call to ‘(const ranges::_begin_::fn) (const char*&)’
- 665 | using iterator_t = decltype(begin(std::declval<Rng &>()));
- | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
- /usr/include/range/v3/range/access.hpp:112:18: note: candidate: ‘template<class R, long unsigned int N> void ranges::_begin_::fn::operator()(R (&&)[N]) const’ <deleted>
- 112 | void operator()(R(&&)[N]) const = delete;
- | ^~~~~~~~
- /usr/include/range/v3/range/access.hpp:112:18: note: template argument deduction/substitution failed:
- /usr/include/range/v3/range/access.hpp:665:38: note: mismatched types ‘R [N]’ and ‘const char*’
- 665 | using iterator_t = decltype(begin(std::declval<Rng &>()));
- | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
- /usr/include/range/v3/range/access.hpp:115:27: note: candidate: ‘template<class R, long unsigned int N> constexpr R* ranges::_begin_::fn::operator()(R (&)[N]) const’
- 115 | constexpr R * operator()(R (&array)[N]) const noexcept
- | ^~~~~~~~
- /usr/include/range/v3/range/access.hpp:115:27: note: template argument deduction/substitution failed:
- /usr/include/range/v3/range/access.hpp:665:38: note: mismatched types ‘R [N]’ and ‘const char*’
- 665 | using iterator_t = decltype(begin(std::declval<Rng &>()));
- | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
- In file included from /usr/include/range/v3/range_fwd.hpp:22,
- from /usr/include/range/v3/action/action.hpp:21,
- from /usr/include/range/v3/action.hpp:17,
- from /usr/include/range/v3/all.hpp:17,
- from concept.cpp:1:
- /usr/include/range/v3/range/access.hpp:127:28: note: candidate: ‘template<class R> constexpr auto ranges::_begin_::fn::operator()(R&&, std::enable_if_t<((_safe_range<R> && (has_member_begin<R> || has_non_member_begin<R>)) && concepts::detail::CPP_true(concepts::detail::Nil{})), concepts::detail::Nil>) const’
- 127 | constexpr auto CPP_fun(operator())(R && r)(
- | ^~~~~~~
- /usr/include/range/v3/range/access.hpp:127:28: note: template argument deduction/substitution failed:
- In file included from /usr/include/range/v3/action/action.hpp:17,
- from /usr/include/range/v3/action.hpp:17,
- from /usr/include/range/v3/all.hpp:17,
- from concept.cpp:1:
- /usr/include/c++/9.2.0/type_traits: In substitution of ‘template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type [with bool _Cond = ((((bool)ranges::detail::_safe_range<const char*&>) && (((bool)ranges::_begin_::has_member_begin<const char*&>) || ((bool)ranges::_begin_::has_non_member_begin<const char*&>))) && concepts::detail::CPP_true((concepts::detail::Nil{}, concepts::detail::Nil())).std::integral_constant<bool, true>::operator std::integral_constant<bool, true>::value_type()); _Tp = concepts::detail::Nil]’:
- /usr/include/range/v3/range/access.hpp:127:28: required by substitution of ‘template<class R> constexpr auto ranges::_begin_::fn::operator()(R&&, std::enable_if_t<((_safe_range<R> && (has_member_begin<R> || has_non_member_begin<R>)) && concepts::detail::CPP_true(concepts::detail::Nil{})), concepts::detail::Nil>) const [with R = const char*&]’
- /usr/include/range/v3/range/access.hpp:665:38: required from ‘constexpr const bool ranges::container<const char*>’
- concept.cpp:7:1: required by substitution of ‘template<class Rng, class CPP_true_, typename std::enable_if<(container<Rng> && CPP_true_{}), int>::type <anonymous> > void foo(Rng) [with Rng = const char*; CPP_true_ = std::integral_constant<bool, true>; typename std::enable_if<(container<Rng> && CPP_true_{}), int>::type <anonymous> = <missing>]’
- concept.cpp:14:14: required from here
- /usr/include/c++/9.2.0/type_traits:2384:11: error: no type named ‘type’ in ‘struct std::enable_if<false, concepts::detail::Nil>’
- 2384 | using enable_if_t = typename enable_if<_Cond, _Tp>::type;
- | ^~~~~~~~~~~
- In file included from /usr/include/range/v3/range/concepts.hpp:30,
- from /usr/include/range/v3/action/concepts.hpp:23,
- from /usr/include/range/v3/action/action.hpp:23,
- from /usr/include/range/v3/action.hpp:17,
- from /usr/include/range/v3/all.hpp:17,
- from concept.cpp:1:
- /usr/include/range/v3/range/access.hpp: In instantiation of ‘constexpr const bool ranges::container<const char*>’:
- concept.cpp:7:1: required by substitution of ‘template<class Rng, class CPP_true_, typename std::enable_if<(container<Rng> && CPP_true_{}), int>::type <anonymous> > void foo(Rng) [with Rng = const char*; CPP_true_ = std::integral_constant<bool, true>; typename std::enable_if<(container<Rng> && CPP_true_{}), int>::type <anonymous> = <missing>]’
- concept.cpp:14:14: required from here
- /usr/include/range/v3/range/access.hpp:140:13: note: candidate: ‘template<class T, class Fn> constexpr decltype (Fn{}(ref.get())) ranges::_begin_::fn::operator()(std::reference_wrapper<_Tp>) const’
- 140 | operator()(std::reference_wrapper<T> ref) const
- | ^~~~~~~~
- /usr/include/range/v3/range/access.hpp:140:13: note: template argument deduction/substitution failed:
- /usr/include/range/v3/range/access.hpp:665:38: note: mismatched types ‘std::reference_wrapper<_Tp>’ and ‘const char*’
- 665 | using iterator_t = decltype(begin(std::declval<Rng &>()));
- | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
- /usr/include/range/v3/range/access.hpp:151:13: note: candidate: ‘template<class T, class Fn> constexpr decltype (Fn{}(ref.get())) ranges::_begin_::fn::operator()(ranges::reference_wrapper<T>) const’
- 151 | operator()(ranges::reference_wrapper<T> ref) const
- | ^~~~~~~~
- /usr/include/range/v3/range/access.hpp:151:13: note: template argument deduction/substitution failed:
- /usr/include/range/v3/range/access.hpp:665:38: note: mismatched types ‘ranges::reference_wrapper<T>’ and ‘const char*’
- 665 | using iterator_t = decltype(begin(std::declval<Rng &>()));
- |
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement