does not build with clang and <=boost-1.53
karolherbst opened this issue · 0 comments
karolherbst commented
It is required to use hypodermic with at least boost-1.54. This should be a boost signals2 bug within boost itself.
I don't think its a major issue, but its nice to know it.
[ 3%] Building CXX object Hypodermic/CMakeFiles/Hypodermic.dir/ComponentRegistration.cpp.o
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:11:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.h:15:
/home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/TypeIndexWorkaround.h:48:5: warning: 'hash' defined as a class template here but previously declared as a struct template [-Wmismatched-tags]
class hash< type_index > : public std::unary_function< type_index, size_t >
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/bits/functional_hash.h:58:5: note: did you mean class here?
struct hash;
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/bitset:763:33: note: did you mean class here?
template<typename> friend struct hash;
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/bits/stl_bvector.h:523:31: note: did you mean class here?
template<typename> friend struct hash;
^
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:4:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ActivatedData.h:7:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IActivatedData.h:6:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentContext.h:8:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentRegistration.h:9:
In file included from /usr/include/boost/signals2.hpp:19:
In file included from /usr/include/boost/signals2/signal.hpp:38:
In file included from /usr/include/boost/signals2/variadic_signal.hpp:21:
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:16: error: no matching function for call to 'get'
func(std::get<indices>(args)...);
^~~~~~~~~~~~~~~~~
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:78:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (Hypodermic::PreparingData &)>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Hypodermic::PreparingData &, 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::tuples::null_type>' requested here
return m_invoke(resolver, func, indices_type(), args);
^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:114:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (Hypodermic::PreparingData &)>, Hypodermic::PreparingData &,
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::tuples::null_type>' requested here
return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args);
^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:106:18: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData
&>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >' requested here
return m_invoke(connectionBody,
^
/usr/include/boost/signals2/detail/slot_call_iterator.hpp:82:35: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData
&>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >' requested here
cache->result.reset(cache->f(*iter));
^
/usr/include/boost/iterator/iterator_facade.hpp:514:20: note: in instantiation of member function 'boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData &>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> >::dereference' requested here
return f.dereference();
^
/usr/include/boost/iterator/iterator_facade.hpp:639:40: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
return iterator_core_access::dereference(this->derived());
^
/usr/include/boost/signals2/optional_last_value.hpp:55:13: note: in instantiation of member function 'boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData &>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type,
boost::single_pass_traversal_tag, const boost::signals2::detail::void_type &, long>::operator*' requested here
*first;
^
/usr/include/boost/signals2/detail/result_type_wrapper.hpp:64:11: note: in instantiation of function template specialization 'boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,
Hypodermic::PreparingData &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >,
boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >' requested here
combiner(first, last);
^
/usr/include/boost/signals2/detail/signal_template.hpp:241:18: note: in instantiation of function template specialization 'boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>,
boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>
>, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void
(Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >' requested here
return detail::combiner_invoker<typename combiner_type::result_type>()
^
/usr/include/boost/signals2/detail/signal_template.hpp:695:16: note: in instantiation of member function 'boost::signals2::detail::signal_impl<void (Hypodermic::PreparingData &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::PreparingData &)>,
boost::function<void (const boost::signals2::connection &, Hypodermic::PreparingData &)>, boost::signals2::mutex>::operator()' requested here
return (*_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
^
/home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:130:25: note: in instantiation of member function 'boost::signals2::signal<void (Hypodermic::PreparingData &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::PreparingData &)>,
boost::function<void (const boost::signals2::connection &, Hypodermic::PreparingData &)>, boost::signals2::mutex>::operator()' requested here
preparingSignal_(data);
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:142:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(std::pair<_Tp1, _Tp2>& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:147:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(std::pair<_Tp1, _Tp2>&& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:152:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(const std::pair<_Tp1, _Tp2>& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:268:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(array<_Tp, _Nm>& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:277:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(array<_Tp, _Nm>&& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:285:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(const array<_Tp, _Nm>& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:757:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(tuple<_Elements...>& __t) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:764:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(const tuple<_Elements...>& __t) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:771:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(tuple<_Elements...>&& __t) noexcept
^
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:4:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ActivatedData.h:7:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IActivatedData.h:6:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentContext.h:8:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentRegistration.h:9:
In file included from /usr/include/boost/signals2.hpp:19:
In file included from /usr/include/boost/signals2/signal.hpp:38:
In file included from /usr/include/boost/signals2/variadic_signal.hpp:21:
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:16: error: no matching function for call to 'get'
func(std::get<indices>(args)...);
^~~~~~~~~~~~~~~~~
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:78:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (Hypodermic::ActivatingData<void> &)>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Hypodermic::ActivatingData<void> &, 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::tuples::null_type>' requested here
return m_invoke(resolver, func, indices_type(), args);
^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:114:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (Hypodermic::ActivatingData<void> &)>, Hypodermic::ActivatingData<void>
&, 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::tuples::null_type>' requested here
return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args);
^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:106:18: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void>
&>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >'
requested here
return m_invoke(connectionBody,
^
/usr/include/boost/signals2/detail/slot_call_iterator.hpp:82:35: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void>
&>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >'
requested here
cache->result.reset(cache->f(*iter));
^
/usr/include/boost/iterator/iterator_facade.hpp:514:20: note: in instantiation of member function 'boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void> &>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> >::dereference' requested here
return f.dereference();
^
/usr/include/boost/iterator/iterator_facade.hpp:639:40: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
return iterator_core_access::dereference(this->derived());
^
/usr/include/boost/signals2/optional_last_value.hpp:55:13: note: in instantiation of member function 'boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void> &>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type,
boost::single_pass_traversal_tag, const boost::signals2::detail::void_type &, long>::operator*' requested here
*first;
^
/usr/include/boost/signals2/detail/result_type_wrapper.hpp:64:11: note: in instantiation of function template specialization 'boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,
Hypodermic::ActivatingData<void> &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void
(Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)>
>, boost::signals2::mutex> > >' requested here
combiner(first, last);
^
/usr/include/boost/signals2/detail/signal_template.hpp:241:18: note: in instantiation of function template specialization 'boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>,
boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void> &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >,
boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >' requested here
return detail::combiner_invoker<typename combiner_type::result_type>()
^
/usr/include/boost/signals2/detail/signal_template.hpp:695:16: note: in instantiation of member function 'boost::signals2::detail::signal_impl<void (Hypodermic::ActivatingData<void> &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::ActivatingData<void> &)>,
boost::function<void (const boost::signals2::connection &, Hypodermic::ActivatingData<void> &)>, boost::signals2::mutex>::operator()' requested here
return (*_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
^
/home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:141:26: note: in instantiation of member function 'boost::signals2::signal<void (Hypodermic::ActivatingData<void> &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void
(Hypodermic::ActivatingData<void> &)>, boost::function<void (const boost::signals2::connection &, Hypodermic::ActivatingData<void> &)>, boost::signals2::mutex>::operator()' requested here
activatingSignal_(data);
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:142:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(std::pair<_Tp1, _Tp2>& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:147:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(std::pair<_Tp1, _Tp2>&& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:152:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(const std::pair<_Tp1, _Tp2>& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:268:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(array<_Tp, _Nm>& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:277:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(array<_Tp, _Nm>&& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:285:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(const array<_Tp, _Nm>& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:757:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(tuple<_Elements...>& __t) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:764:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(const tuple<_Elements...>& __t) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:771:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(tuple<_Elements...>&& __t) noexcept
^
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:4:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ActivatedData.h:7:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IActivatedData.h:6:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentContext.h:8:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentRegistration.h:9:
In file included from /usr/include/boost/signals2.hpp:19:
In file included from /usr/include/boost/signals2/signal.hpp:38:
In file included from /usr/include/boost/signals2/variadic_signal.hpp:21:
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:16: error: no matching function for call to 'get'
func(std::get<indices>(args)...);
^~~~~~~~~~~~~~~~~
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:78:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (Hypodermic::ActivatedData<void> &)>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Hypodermic::ActivatedData<void> &, 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::tuples::null_type>' requested here
return m_invoke(resolver, func, indices_type(), args);
^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:114:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (Hypodermic::ActivatedData<void> &)>, Hypodermic::ActivatedData<void> &,
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::tuples::null_type>' requested here
return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args);
^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:106:18: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void>
&>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >'
requested here
return m_invoke(connectionBody,
^
/usr/include/boost/signals2/detail/slot_call_iterator.hpp:82:35: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void>
&>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >'
requested here
cache->result.reset(cache->f(*iter));
^
/usr/include/boost/iterator/iterator_facade.hpp:514:20: note: in instantiation of member function 'boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void> &>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> >::dereference' requested here
return f.dereference();
^
/usr/include/boost/iterator/iterator_facade.hpp:639:40: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
return iterator_core_access::dereference(this->derived());
^
/usr/include/boost/signals2/optional_last_value.hpp:55:13: note: in instantiation of member function 'boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void> &>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type,
boost::single_pass_traversal_tag, const boost::signals2::detail::void_type &, long>::operator*' requested here
*first;
^
/usr/include/boost/signals2/detail/result_type_wrapper.hpp:64:11: note: in instantiation of function template specialization 'boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,
Hypodermic::ActivatedData<void> &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void
(Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >,
boost::signals2::mutex> > >' requested here
combiner(first, last);
^
/usr/include/boost/signals2/detail/signal_template.hpp:241:18: note: in instantiation of function template specialization 'boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>,
boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void> &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >,
boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >' requested here
return detail::combiner_invoker<typename combiner_type::result_type>()
^
/usr/include/boost/signals2/detail/signal_template.hpp:695:16: note: in instantiation of member function 'boost::signals2::detail::signal_impl<void (Hypodermic::ActivatedData<void> &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::ActivatedData<void> &)>,
boost::function<void (const boost::signals2::connection &, Hypodermic::ActivatedData<void> &)>, boost::signals2::mutex>::operator()' requested here
return (*_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
^
/home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:153:25: note: in instantiation of member function 'boost::signals2::signal<void (Hypodermic::ActivatedData<void> &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::ActivatedData<void> &)>,
boost::function<void (const boost::signals2::connection &, Hypodermic::ActivatedData<void> &)>, boost::signals2::mutex>::operator()' requested here
activatedSignal_(data);
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:142:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(std::pair<_Tp1, _Tp2>& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:147:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(std::pair<_Tp1, _Tp2>&& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:152:5: note: candidate template ignored: could not match 'pair' against 'tuple'
get(const std::pair<_Tp1, _Tp2>& __in) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:268:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(array<_Tp, _Nm>& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:277:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(array<_Tp, _Nm>&& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:285:5: note: candidate template ignored: could not match 'array' against 'tuple'
get(const array<_Tp, _Nm>& __arr) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:757:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(tuple<_Elements...>& __t) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:764:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(const tuple<_Elements...>& __t) noexcept
^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:771:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
get(tuple<_Elements...>&& __t) noexcept
^
1 warning and 3 errors generated.
Hypodermic/CMakeFiles/Hypodermic.dir/build.make:80: recipe for target 'Hypodermic/CMakeFiles/Hypodermic.dir/ComponentRegistration.cpp.o' failed
make[2]: *** [Hypodermic/CMakeFiles/Hypodermic.dir/ComponentRegistration.cpp.o] Error 1
CMakeFiles/Makefile2:140: recipe for target 'Hypodermic/CMakeFiles/Hypodermic.dir/all' failed
make[1]: *** [Hypodermic/CMakeFiles/Hypodermic.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make: *** [all] Error 2