In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp: In instantiation of ‘struct boost::test_tools::assertion::op::EQ, void>’: /tmp/test/include/boost/test/tools/assertion.hpp:323:7: required from ‘class boost::test_tools::assertion::binary_expr, const std::vector&, boost::test_tools::assertion::op::EQ, void> >’ comp_colls.cpp:24:2: required from here /tmp/test/include/boost/test/tools/assertion.hpp:162:1: error: no match for ‘operator==’ (operand types are ‘const my_class’ and ‘const std::vector’) BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: candidates are: In file included from /opt/include/boost/shared_ptr.hpp:17:0, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/shared_ptr.hpp:767:40: note: template bool boost::operator==(const boost::shared_ptr&, const boost::shared_ptr&) template inline bool operator==(shared_ptr const & a, shared_ptr const & b) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/shared_ptr.hpp:767:40: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::shared_ptr’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/shared_ptr.hpp:17:0, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/shared_ptr.hpp:790:31: note: template bool boost::operator==(const boost::shared_ptr&, boost::detail::sp_nullptr_t) template inline bool operator==( shared_ptr const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/shared_ptr.hpp:790:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::shared_ptr’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/shared_ptr.hpp:17:0, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/shared_ptr.hpp:795:31: note: template bool boost::operator==(boost::detail::sp_nullptr_t, const boost::shared_ptr&) template inline bool operator==( boost::detail::sp_nullptr_t, shared_ptr const & p ) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/shared_ptr.hpp:795:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘boost::detail::sp_nullptr_t {aka std::nullptr_t}’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/scoped_array.hpp:14:0, from /tmp/test/include/boost/test/execution_monitor.hpp:25, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/scoped_array.hpp:103:31: note: template bool boost::operator==(const boost::scoped_array&, boost::detail::sp_nullptr_t) template inline bool operator==( scoped_array const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/scoped_array.hpp:103:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::scoped_array’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/scoped_array.hpp:14:0, from /tmp/test/include/boost/test/execution_monitor.hpp:25, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/scoped_array.hpp:108:31: note: template bool boost::operator==(boost::detail::sp_nullptr_t, const boost::scoped_array&) template inline bool operator==( boost::detail::sp_nullptr_t, scoped_array const & p ) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/scoped_array.hpp:108:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘boost::detail::sp_nullptr_t {aka std::nullptr_t}’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/function/detail/prologue.hpp:17:0, from /opt/include/boost/function/function_template.hpp:13, from /opt/include/boost/function/detail/maybe_include.hpp:13, from /opt/include/boost/function/function0.hpp:11, from /tmp/test/include/boost/test/execution_monitor.hpp:28, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/function/function_base.hpp:728:13: note: bool boost::operator==(const boost::function_base&, boost::detail::function::useless_clear_type*) inline bool operator==(const function_base& f, ^ /opt/include/boost/function/function_base.hpp:728:13: note: no known conversion for argument 1 from ‘const my_class’ to ‘const boost::function_base&’ /opt/include/boost/function/function_base.hpp:740:13: note: bool boost::operator==(boost::detail::function::useless_clear_type*, const boost::function_base&) inline bool operator==(detail::function::useless_clear_type*, ^ /opt/include/boost/function/function_base.hpp:740:13: note: no known conversion for argument 1 from ‘const my_class’ to ‘boost::detail::function::useless_clear_type*’ /opt/include/boost/function/function_base.hpp:790:3: note: template typename boost::enable_if_c<(! boost::is_integral::value), bool>::type boost::operator==(const boost::function_base&, Functor) operator==(const function_base& f, Functor g) ^ /opt/include/boost/function/function_base.hpp:790:3: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘const boost::function_base&’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/function/detail/prologue.hpp:17:0, from /opt/include/boost/function/function_template.hpp:13, from /opt/include/boost/function/detail/maybe_include.hpp:13, from /opt/include/boost/function/function0.hpp:11, from /tmp/test/include/boost/test/execution_monitor.hpp:28, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/function/function_base.hpp:799:3: note: template typename boost::enable_if_c<(! boost::is_integral::value), bool>::type boost::operator==(Functor, const boost::function_base&) operator==(Functor g, const function_base& f) ^ /opt/include/boost/function/function_base.hpp:799:3: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval >()’ (type ‘const std::vector’) to type ‘const boost::function_base&’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/function/detail/prologue.hpp:17:0, from /opt/include/boost/function/function_template.hpp:13, from /opt/include/boost/function/detail/maybe_include.hpp:13, from /opt/include/boost/function/function0.hpp:11, from /tmp/test/include/boost/test/execution_monitor.hpp:28, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/function/function_base.hpp:827:3: note: template typename boost::enable_if_c<(! boost::is_integral::value), bool>::type boost::operator==(const boost::function_base&, boost::reference_wrapper) operator==(const function_base& f, reference_wrapper g) ^ /opt/include/boost/function/function_base.hpp:827:3: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘const boost::function_base&’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/function/detail/prologue.hpp:17:0, from /opt/include/boost/function/function_template.hpp:13, from /opt/include/boost/function/detail/maybe_include.hpp:13, from /opt/include/boost/function/function0.hpp:11, from /tmp/test/include/boost/test/execution_monitor.hpp:28, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/function/function_base.hpp:836:3: note: template typename boost::enable_if_c<(! boost::is_integral::value), bool>::type boost::operator==(boost::reference_wrapper, const boost::function_base&) operator==(reference_wrapper g, const function_base& f) ^ /opt/include/boost/function/function_base.hpp:836:3: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘my_class’ is not derived from ‘boost::reference_wrapper’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/function/detail/maybe_include.hpp:13:0, from /opt/include/boost/function/function0.hpp:11, from /tmp/test/include/boost/test/execution_monitor.hpp:28, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/function/function_template.hpp:1029:8: note: template void boost::operator==(const boost::function0&, const boost::function0&) void operator==(const BOOST_FUNCTION_FUNCTION< ^ /opt/include/boost/function/function_template.hpp:1029:8: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::function0’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/scoped_ptr.hpp:14:0, from /tmp/test/include/boost/test/tree/fixture.hpp:23, from /tmp/test/include/boost/test/tree/decorator.hpp:22, from /tmp/test/include/boost/test/tree/test_unit.hpp:21, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:21, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/scoped_ptr.hpp:121:31: note: template bool boost::operator==(const boost::scoped_ptr&, boost::detail::sp_nullptr_t) template inline bool operator==( scoped_ptr const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/scoped_ptr.hpp:121:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::scoped_ptr’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/scoped_ptr.hpp:14:0, from /tmp/test/include/boost/test/tree/fixture.hpp:23, from /tmp/test/include/boost/test/tree/decorator.hpp:22, from /tmp/test/include/boost/test/tree/test_unit.hpp:21, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:21, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/scoped_ptr.hpp:126:31: note: template bool boost::operator==(boost::detail::sp_nullptr_t, const boost::scoped_ptr&) template inline bool operator==( boost::detail::sp_nullptr_t, scoped_ptr const & p ) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/scoped_ptr.hpp:126:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘boost::detail::sp_nullptr_t {aka std::nullptr_t}’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/function/detail/maybe_include.hpp:18:0, from /opt/include/boost/function/function1.hpp:11, from /tmp/test/include/boost/test/tree/decorator.hpp:32, from /tmp/test/include/boost/test/tree/test_unit.hpp:21, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:21, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /opt/include/boost/function/function_template.hpp:1029:8: note: template void boost::operator==(const boost::function1&, const boost::function1&) void operator==(const BOOST_FUNCTION_FUNCTION< ^ /opt/include/boost/function/function_template.hpp:1029:8: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::function1’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/bind/bind.hpp:29:0, from /opt/include/boost/bind.hpp:22, from /tmp/test/include/boost/test/impl/framework.ipp:48, from /tmp/test/include/boost/test/included/unit_test.hpp:18, from comp_colls.cpp:3: /opt/include/boost/bind/arg.hpp:41:24: note: template bool boost::operator==(const boost::arg&, const boost::arg&) template< int I > bool operator==( arg const &, arg const & ) ^ /opt/include/boost/bind/arg.hpp:41:24: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::arg’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/optional.hpp:15:0, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:27, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/optional/optional.hpp:1290:6: note: template bool boost::operator==(const boost::optional&, const boost::optional&) bool operator == ( optional const& x, optional const& y ) ^ /opt/include/boost/optional/optional.hpp:1290:6: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::optional’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/optional.hpp:15:0, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:27, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/optional/optional.hpp:1324:6: note: template bool boost::operator==(const boost::optional&, const T&) bool operator == ( optional const& x, T const& y ) ^ /opt/include/boost/optional/optional.hpp:1324:6: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::optional’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/optional.hpp:15:0, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:27, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/optional/optional.hpp:1358:6: note: template bool boost::operator==(const T&, const boost::optional&) bool operator == ( T const& x, optional const& y ) ^ /opt/include/boost/optional/optional.hpp:1358:6: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const std::vector’ is not derived from ‘const boost::optional’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/optional.hpp:15:0, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:27, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/optional/optional.hpp:1393:6: note: template bool boost::operator==(const boost::optional&, boost::none_t) bool operator == ( optional const& x, none_t ) BOOST_NOEXCEPT ^ /opt/include/boost/optional/optional.hpp:1393:6: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::optional’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/optional.hpp:15:0, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:27, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/optional/optional.hpp:1427:6: note: template bool boost::operator==(boost::none_t, const boost::optional&) bool operator == ( none_t , optional const& y ) BOOST_NOEXCEPT ^ /opt/include/boost/optional/optional.hpp:1427:6: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘boost::none_t’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/lexical_cast.hpp:30:0, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/range/iterator_range_core.hpp:584:9: note: template typename boost::enable_if >, bool>::type boost::operator==(const ForwardRange&, const boost::iterator_range&) operator==( const ForwardRange& l, const iterator_range& r ) ^ /opt/include/boost/range/iterator_range_core.hpp:584:9: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const std::vector’ is not derived from ‘const boost::iterator_range’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/lexical_cast.hpp:30:0, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/range/iterator_range_core.hpp:643:9: note: template bool boost::operator==(const boost::iterator_range&, const boost::iterator_range&) operator==( const iterator_range& l, const iterator_range& r ) ^ /opt/include/boost/range/iterator_range_core.hpp:643:9: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::iterator_range’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/lexical_cast.hpp:30:0, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/range/iterator_range_core.hpp:653:9: note: template typename boost::enable_if >, bool>::type boost::operator==(const boost::iterator_range&, const ForwardRange&) operator==( const iterator_range& l, const ForwardRange& r ) ^ /opt/include/boost/range/iterator_range_core.hpp:653:9: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::iterator_range’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/lexical_cast/detail/converter_lexical.hpp:50:0, from /opt/include/boost/lexical_cast/try_lexical_convert.hpp:35, from /opt/include/boost/lexical_cast.hpp:32, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/array.hpp:342:10: note: template bool boost::operator==(const boost::array&, const boost::array&) bool operator== (const array& x, const array& y) { ^ /opt/include/boost/array.hpp:342:10: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::array’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/shared_array.hpp:17:0, from /tmp/test/include/boost/test/utils/runtime/cla/argv_traverser.hpp:26, from /tmp/test/include/boost/test/utils/runtime/cla/parser.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/value_generator.hpp:22, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/shared_array.hpp:241:31: note: template bool boost::operator==(const boost::shared_array&, const boost::shared_array&) template inline bool operator==(shared_array const & a, shared_array const & b) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/shared_array.hpp:241:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::shared_array’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/shared_array.hpp:17:0, from /tmp/test/include/boost/test/utils/runtime/cla/argv_traverser.hpp:26, from /tmp/test/include/boost/test/utils/runtime/cla/parser.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/value_generator.hpp:22, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/shared_array.hpp:253:31: note: template bool boost::operator==(const boost::shared_array&, boost::detail::sp_nullptr_t) template inline bool operator==( shared_array const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/shared_array.hpp:253:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::shared_array’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/shared_array.hpp:17:0, from /tmp/test/include/boost/test/utils/runtime/cla/argv_traverser.hpp:26, from /tmp/test/include/boost/test/utils/runtime/cla/parser.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/value_generator.hpp:22, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/smart_ptr/shared_array.hpp:258:31: note: template bool boost::operator==(boost::detail::sp_nullptr_t, const boost::shared_array&) template inline bool operator==( boost::detail::sp_nullptr_t, shared_array const & p ) BOOST_NOEXCEPT ^ /opt/include/boost/smart_ptr/shared_array.hpp:258:31: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘boost::detail::sp_nullptr_t {aka std::nullptr_t}’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/function/detail/maybe_include.hpp:23:0, from /opt/include/boost/function/function2.hpp:11, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:38, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /opt/include/boost/function/function_template.hpp:1029:8: note: template void boost::operator==(const boost::function2&, const boost::function2&) void operator==(const BOOST_FUNCTION_FUNCTION< ^ /opt/include/boost/function/function_template.hpp:1029:8: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const boost::function2’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/config/no_tr1/complex.hpp:21:0, from /opt/include/boost/math/special_functions/math_fwd.hpp:31, from /opt/include/boost/math/special_functions/sign.hpp:17, from /opt/include/boost/lexical_cast/detail/inf_nan.hpp:34, from /opt/include/boost/lexical_cast/detail/converter_lexical_streams.hpp:63, from /opt/include/boost/lexical_cast/detail/converter_lexical.hpp:54, from /opt/include/boost/lexical_cast/try_lexical_convert.hpp:35, from /opt/include/boost/lexical_cast.hpp:32, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /usr/include/c++/4.9/complex:463:5: note: template constexpr bool std::operator==(const _Tp&, const std::complex<_Tp>&) operator==(const _Tp& __x, const complex<_Tp>& __y) ^ /usr/include/c++/4.9/complex:463:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const std::vector’ is not derived from ‘const std::complex<_Tp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/config/no_tr1/complex.hpp:21:0, from /opt/include/boost/math/special_functions/math_fwd.hpp:31, from /opt/include/boost/math/special_functions/sign.hpp:17, from /opt/include/boost/lexical_cast/detail/inf_nan.hpp:34, from /opt/include/boost/lexical_cast/detail/converter_lexical_streams.hpp:63, from /opt/include/boost/lexical_cast/detail/converter_lexical.hpp:54, from /opt/include/boost/lexical_cast/try_lexical_convert.hpp:35, from /opt/include/boost/lexical_cast.hpp:32, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /usr/include/c++/4.9/complex:458:5: note: template constexpr bool std::operator==(const std::complex<_Tp>&, const _Tp&) operator==(const complex<_Tp>& __x, const _Tp& __y) ^ /usr/include/c++/4.9/complex:458:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::complex<_Tp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /opt/include/boost/config/no_tr1/complex.hpp:21:0, from /opt/include/boost/math/special_functions/math_fwd.hpp:31, from /opt/include/boost/math/special_functions/sign.hpp:17, from /opt/include/boost/lexical_cast/detail/inf_nan.hpp:34, from /opt/include/boost/lexical_cast/detail/converter_lexical_streams.hpp:63, from /opt/include/boost/lexical_cast/detail/converter_lexical.hpp:54, from /opt/include/boost/lexical_cast/try_lexical_convert.hpp:35, from /opt/include/boost/lexical_cast.hpp:32, from /tmp/test/include/boost/test/utils/runtime/interpret_argument_value.hpp:28, from /tmp/test/include/boost/test/utils/runtime/cla/argument_factory.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/typed_parameter.hpp:25, from /tmp/test/include/boost/test/utils/runtime/cla/basic_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/named_parameter.hpp:21, from /tmp/test/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp:21, from /tmp/test/include/boost/test/impl/unit_test_parameters.ipp:33, from /tmp/test/include/boost/test/included/unit_test.hpp:29, from comp_colls.cpp:3: /usr/include/c++/4.9/complex:453:5: note: template constexpr bool std::operator==(const std::complex<_Tp>&, const std::complex<_Tp>&) operator==(const complex<_Tp>& __x, const complex<_Tp>& __y) ^ /usr/include/c++/4.9/complex:453:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::complex<_Tp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/set:62:0, from /tmp/test/include/boost/test/impl/framework.ipp:53, from /tmp/test/include/boost/test/included/unit_test.hpp:18, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_multiset.h:777:5: note: template bool std::operator==(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&) operator==(const multiset<_Key, _Compare, _Alloc>& __x, ^ /usr/include/c++/4.9/bits/stl_multiset.h:777:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::multiset<_Key, _Compare, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/set:61:0, from /tmp/test/include/boost/test/impl/framework.ipp:53, from /tmp/test/include/boost/test/included/unit_test.hpp:18, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_set.h:793:5: note: template bool std::operator==(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&) operator==(const set<_Key, _Compare, _Alloc>& __x, ^ /usr/include/c++/4.9/bits/stl_set.h:793:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::set<_Key, _Compare, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/list:63:0, from /tmp/test/include/boost/test/unit_test_parameters.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:26, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_list.h:1729:5: note: template bool std::operator==(const std::list<_Tp, _Alloc>&, const std::list<_Tp, _Alloc>&) operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) ^ /usr/include/c++/4.9/bits/stl_list.h:1729:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::list<_Tp, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/list:63:0, from /tmp/test/include/boost/test/unit_test_parameters.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:26, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_list.h:285:5: note: template bool std::operator==(const std::_List_iterator<_Tp>&, const std::_List_const_iterator<_Val>&) operator==(const _List_iterator<_Val>& __x, ^ /usr/include/c++/4.9/bits/stl_list.h:285:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::_List_iterator<_Tp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/map:62:0, from /tmp/test/include/boost/test/tree/test_unit.hpp:35, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:21, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_multimap.h:903:5: note: template bool std::operator==(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&) operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, ^ /usr/include/c++/4.9/bits/stl_multimap.h:903:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/map:61:0, from /tmp/test/include/boost/test/tree/test_unit.hpp:35, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:21, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_map.h:1000:5: note: template bool std::operator==(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&) operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, ^ /usr/include/c++/4.9/bits/stl_map.h:1000:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/map:60:0, from /tmp/test/include/boost/test/tree/test_unit.hpp:35, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:21, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_tree.h:970:5: note: template bool std::operator==(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&) operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, ^ /usr/include/c++/4.9/bits/stl_tree.h:970:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/map:60:0, from /tmp/test/include/boost/test/tree/test_unit.hpp:35, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:21, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_tree.h:323:5: note: template bool std::operator==(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&) operator==(const _Rb_tree_iterator<_Val>& __x, ^ /usr/include/c++/4.9/bits/stl_tree.h:323:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::_Rb_tree_iterator<_Tp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/random:51:0, from /usr/include/c++/4.9/bits/stl_algo.h:66, from /usr/include/c++/4.9/algorithm:62, from /opt/include/boost/smart_ptr/shared_ptr.hpp:37, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/random.tcc:2030:5: note: template bool std::operator==(const std::normal_distribution<_RealType>&, const std::normal_distribution<_RealType>&) operator==(const std::normal_distribution<_RealType>& __d1, ^ /usr/include/c++/4.9/bits/random.tcc:2030:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::normal_distribution<_RealType>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/vector:64:0, from /usr/include/c++/4.9/bits/random.h:34, from /usr/include/c++/4.9/random:49, from /usr/include/c++/4.9/bits/stl_algo.h:66, from /usr/include/c++/4.9/algorithm:62, from /opt/include/boost/smart_ptr/shared_ptr.hpp:37, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_vector.h:1511:5: note: template bool std::operator==(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&) operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) ^ /usr/include/c++/4.9/bits/stl_vector.h:1511:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::vector<_Tp, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/memory:82:0, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/shared_ptr.h:344:5: note: template bool std::operator==(std::nullptr_t, const std::shared_ptr<_Tp1>&) operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept ^ /usr/include/c++/4.9/bits/shared_ptr.h:344:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘std::nullptr_t’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/memory:82:0, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/shared_ptr.h:339:5: note: template bool std::operator==(const std::shared_ptr<_Tp1>&, std::nullptr_t) operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept ^ /usr/include/c++/4.9/bits/shared_ptr.h:339:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::shared_ptr<_Tp1>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/memory:82:0, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/shared_ptr.h:333:5: note: template bool std::operator==(const std::shared_ptr<_Tp1>&, const std::shared_ptr<_Tp2>&) operator==(const shared_ptr<_Tp1>& __a, ^ /usr/include/c++/4.9/bits/shared_ptr.h:333:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::shared_ptr<_Tp1>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/shared_ptr.h:52:0, from /usr/include/c++/4.9/memory:82, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/shared_ptr_base.h:1193:5: note: template bool std::operator==(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&) operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept ^ /usr/include/c++/4.9/bits/shared_ptr_base.h:1193:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘std::nullptr_t’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/shared_ptr.h:52:0, from /usr/include/c++/4.9/memory:82, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/shared_ptr_base.h:1188:5: note: template bool std::operator==(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t) operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept ^ /usr/include/c++/4.9/bits/shared_ptr_base.h:1188:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/shared_ptr.h:52:0, from /usr/include/c++/4.9/memory:82, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/shared_ptr_base.h:1182:5: note: template bool std::operator==(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&) operator==(const __shared_ptr<_Tp1, _Lp>& __a, ^ /usr/include/c++/4.9/bits/shared_ptr_base.h:1182:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/memory:81:0, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/unique_ptr.h:635:5: note: template bool std::operator==(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&) operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept ^ /usr/include/c++/4.9/bits/unique_ptr.h:635:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘std::nullptr_t’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/memory:81:0, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/unique_ptr.h:630:5: note: template bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t) operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept ^ /usr/include/c++/4.9/bits/unique_ptr.h:630:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/memory:81:0, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/unique_ptr.h:624:5: note: template bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&) operator==(const unique_ptr<_Tp, _Dp>& __x, ^ /usr/include/c++/4.9/bits/unique_ptr.h:624:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/memory:79:0, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/functional:2511:5: note: template bool std::operator==(std::nullptr_t, const std::function<_Res(_ArgTypes ...)>&) operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept ^ /usr/include/c++/4.9/functional:2511:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: cannot convert ‘boost::declval()’ (type ‘const my_class’) to type ‘std::nullptr_t’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/memory:79:0, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/functional:2505:5: note: template bool std::operator==(const std::function<_Res(_ArgTypes ...)>&, std::nullptr_t) operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept ^ /usr/include/c++/4.9/functional:2505:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/functional:55:0, from /usr/include/c++/4.9/memory:79, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/tuple:848:5: note: template constexpr bool std::operator==(const std::tuple<_Elements ...>&, const std::tuple<_Elements ...>&) operator==(const tuple<_TElements...>& __t, ^ /usr/include/c++/4.9/tuple:848:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::tuple<_Elements ...>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/tuple:39:0, from /usr/include/c++/4.9/functional:55, from /usr/include/c++/4.9/memory:79, from /opt/include/boost/config/no_tr1/memory.hpp:21, from /opt/include/boost/smart_ptr/shared_ptr.hpp:23, from /opt/include/boost/shared_ptr.hpp:17, from /tmp/test/include/boost/test/execution_monitor.hpp:24, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:20, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/array:232:5: note: template bool std::operator==(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&) operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) ^ /usr/include/c++/4.9/array:232:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::array<_Tp, _Nm>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/iterator:66:0, from /tmp/test/include/boost/test/detail/workaround.hpp:19, from /tmp/test/include/boost/test/detail/global_typedef.hpp:16, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stream_iterator.h:130:5: note: template bool std::operator==(const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&, const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&) operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, ^ /usr/include/c++/4.9/bits/stream_iterator.h:130:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/locale_facets.h:48:0, from /usr/include/c++/4.9/bits/basic_ios.h:37, from /usr/include/c++/4.9/ios:44, from /usr/include/c++/4.9/ostream:38, from /usr/include/c++/4.9/iterator:64, from /tmp/test/include/boost/test/detail/workaround.hpp:19, from /tmp/test/include/boost/test/detail/global_typedef.hpp:16, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/streambuf_iterator.h:204:5: note: template bool std::operator==(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&) operator==(const istreambuf_iterator<_CharT, _Traits>& __a, ^ /usr/include/c++/4.9/bits/streambuf_iterator.h:204:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/string:52:0, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/basic_string.h:2538:5: note: template bool std::operator==(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*) operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^ /usr/include/c++/4.9/bits/basic_string.h:2538:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::basic_string<_CharT, _Traits, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/string:52:0, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/basic_string.h:2526:5: note: template bool std::operator==(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&) operator==(const _CharT* __lhs, ^ /usr/include/c++/4.9/bits/basic_string.h:2526:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: mismatched types ‘const _CharT*’ and ‘my_class’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/string:52:0, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/basic_string.h:2512:5: note: template typename __gnu_cxx::__enable_if::__value, bool>::__type std::operator==(const std::basic_string<_CharT>&, const std::basic_string<_CharT>&) operator==(const basic_string<_CharT>& __lhs, ^ /usr/include/c++/4.9/bits/basic_string.h:2512:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::basic_string<_CharT>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/string:52:0, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/basic_string.h:2505:5: note: template bool std::operator==(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&) operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^ /usr/include/c++/4.9/bits/basic_string.h:2505:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::basic_string<_CharT, _Traits, _Alloc>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/string:41:0, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/allocator.h:133:5: note: template bool std::operator==(const std::allocator<_CharT>&, const std::allocator<_CharT>&) operator==(const allocator<_Tp>&, const allocator<_Tp>&) ^ /usr/include/c++/4.9/bits/allocator.h:133:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::allocator<_CharT>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/string:41:0, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/allocator.h:128:5: note: template bool std::operator==(const std::allocator<_CharT>&, const std::allocator<_T2>&) operator==(const allocator<_T1>&, const allocator<_T2>&) ^ /usr/include/c++/4.9/bits/allocator.h:128:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::allocator<_CharT>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/char_traits.h:40:0, from /usr/include/c++/4.9/string:40, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/postypes.h:216:5: note: template bool std::operator==(const std::fpos<_StateT>&, const std::fpos<_StateT>&) operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) ^ /usr/include/c++/4.9/bits/postypes.h:216:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::fpos<_StateT>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/stl_algobase.h:67:0, from /usr/include/c++/4.9/bits/char_traits.h:39, from /usr/include/c++/4.9/string:40, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_iterator.h:1054:5: note: template bool std::operator==(const std::move_iterator<_Iterator>&, const std::move_iterator<_Iterator>&) operator==(const move_iterator<_Iterator>& __x, ^ /usr/include/c++/4.9/bits/stl_iterator.h:1054:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::move_iterator<_Iterator>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/stl_algobase.h:67:0, from /usr/include/c++/4.9/bits/char_traits.h:39, from /usr/include/c++/4.9/string:40, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_iterator.h:1048:5: note: template bool std::operator==(const std::move_iterator<_Iterator>&, const std::move_iterator<_IteratorR>&) operator==(const move_iterator<_IteratorL>& __x, ^ /usr/include/c++/4.9/bits/stl_iterator.h:1048:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::move_iterator<_Iterator>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/stl_algobase.h:67:0, from /usr/include/c++/4.9/bits/char_traits.h:39, from /usr/include/c++/4.9/string:40, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_iterator.h:342:5: note: template bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&) operator==(const reverse_iterator<_IteratorL>& __x, ^ /usr/include/c++/4.9/bits/stl_iterator.h:342:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::reverse_iterator<_Iterator>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/stl_algobase.h:67:0, from /usr/include/c++/4.9/bits/char_traits.h:39, from /usr/include/c++/4.9/string:40, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_iterator.h:292:5: note: template bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&) operator==(const reverse_iterator<_Iterator>& __x, ^ /usr/include/c++/4.9/bits/stl_iterator.h:292:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::reverse_iterator<_Iterator>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/stl_algobase.h:64:0, from /usr/include/c++/4.9/bits/char_traits.h:39, from /usr/include/c++/4.9/string:40, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_pair.h:214:5: note: template constexpr bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&) operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) ^ /usr/include/c++/4.9/bits/stl_pair.h:214:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const std::pair<_T1, _T2>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/x86_64-linux-gnu/c++/4.9/bits/c++allocator.h:33:0, from /usr/include/c++/4.9/bits/allocator.h:46, from /usr/include/c++/4.9/string:41, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/ext/new_allocator.h:139:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator<_Tp>&, const __gnu_cxx::new_allocator<_Tp>&) operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) ^ /usr/include/c++/4.9/ext/new_allocator.h:139:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const __gnu_cxx::new_allocator<_Tp>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/stl_algobase.h:67:0, from /usr/include/c++/4.9/bits/char_traits.h:39, from /usr/include/c++/4.9/string:40, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_iterator.h:815:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&) operator==(const __normal_iterator<_Iterator, _Container>& __lhs, ^ /usr/include/c++/4.9/bits/stl_iterator.h:815:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /usr/include/c++/4.9/bits/stl_algobase.h:67:0, from /usr/include/c++/4.9/bits/char_traits.h:39, from /usr/include/c++/4.9/string:40, from /tmp/test/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp:25, from /tmp/test/include/boost/test/utils/basic_cstring/basic_cstring.hpp:21, from /tmp/test/include/boost/test/detail/global_typedef.hpp:15, from /tmp/test/include/boost/test/framework.hpp:17, from /tmp/test/include/boost/test/impl/compiler_log_formatter.ipp:19, from /tmp/test/include/boost/test/included/unit_test.hpp:15, from comp_colls.cpp:3: /usr/include/c++/4.9/bits/stl_iterator.h:808:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&) operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, ^ /usr/include/c++/4.9/bits/stl_iterator.h:808:5: note: template argument deduction/substitution failed: In file included from /tmp/test/include/boost/test/test_tools.hpp:45:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/assertion.hpp:162:1: note: ‘const my_class’ is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’ BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER ) ^ In file included from /tmp/test/include/boost/test/test_tools.hpp:56:0, from /tmp/test/include/boost/test/unit_test.hpp:18, from /tmp/test/include/boost/test/included/unit_test.hpp:34, from comp_colls.cpp:3: /tmp/test/include/boost/test/tools/detail/per_element_manip.hpp: In instantiation of ‘boost::test_tools::assertion_result boost::test_tools::tt_detail::operator<<(const boost::test_tools::tt_detail::assertion_evaluate_t >&, boost::test_tools::per_element) [with T1 = boost::test_tools::assertion::value_expr; T2 = const std::vector&; OP = boost::test_tools::assertion::op::EQ, void>]’: comp_colls.cpp:24:2: required from here /tmp/test/include/boost/test/tools/detail/per_element_manip.hpp:49:34: error: no type named ‘elem_op’ in ‘struct boost::test_tools::assertion::op::EQ, void>’ typedef typename OP::elem_op elem_op; ^