[indexed_set] volunteers wanted for testing

Review for indexed_set will take place in a couple of weeks; I'd like to ask for volunteers who want to try the tests on their compilers/platforms to make sure it works on a reasonable number of them. Current version has been tested for MSVC++ 6.0 SP5, ICC++ 7.1 and GCC 3.3.1 (cygwin). In particular, I'm interested in ICC+ 8.0 and MSVC 7.1, where prior versions of the library were tested without problems. Last version of the library (9.2) available at http://groups.yahoo.com/group/boost/files/indexed_set.zip Thank you in advance. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

"Joaquín Mª López Muñoz" <joaquin@tid.es> wrote
Review for indexed_set will take place in a couple of weeks; I'd like to ask for volunteers who want to try the tests on their compilers/platforms to make sure it works on a reasonable number of them. Current version has been tested for MSVC++ 6.0 SP5, ICC++ 7.1 and GCC 3.3.1 (cygwin). In particular, I'm interested in ICC+ 8.0 and MSVC 7.1, where prior versions of the library were tested without problems.
It would be also useful if someone tries to compile and run tests with VC6.5 in release mode. We have seen different results on different machines here. /Pavel

Joaquín Mª López Muñoz wrote:
Review for indexed_set will take place in a couple of weeks; I'd like to ask for volunteers who want to try the tests on their compilers/platforms to make sure it works on a reasonable number of them.
Testing on GCC 3.4 uncovers an issue. ../../../boost/indexed_set/index.hpp:155: error: there are no arguments to `final' that depend on a template parameter, so a declaration of `final' must be available This happens also on all the similar lines in the same class: 161, 177, 178, 179. All final* members seem to be inherited from a dependent base, so they need to be qualified with "this->" in front of them. The same also happens in index_set.hpp, line 133, 459. sequenced_index.hpp: 134, 157, 175, 176, 177, 576, 580. I think there are more occurrence of this but maybe they are not excercised by the testes. test_list_ops.cpp generates an ICE which I already submitted for analysys. All the other tests compile and run succesfully (after the above fixes). -- Giovanni Bajo

Giovanni Bajo ha escrito:
test_list_ops.cpp generates an ICE which I already submitted for analysys.
Is there a link in the GCC database that I can track?
Sure: http://gcc.gnu.org/PR14448 -- Giovanni Bajo Hi Giovanni, I've briefly followed the discussions around the ICE and seems like the problem has to do with the definition of the static constant max_fill (am I right?) If so, do you know of some simple workaround? The fact that it is the compiler that is failing rather than my code does not make me any happier --I just want GCC to compile the library. Best, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

Joaquín Mª López Muñoz wrote:
test_list_ops.cpp generates an ICE which I already submitted for analysys. http://gcc.gnu.org/PR14448
I've briefly followed the discussions around the ICE and seems like the problem has to do with the definition of the static constant max_fill (am I right?) If so, do you know of some simple workaround? The fact that it is the compiler that is failing rather than my code does not make me any happier --I just want GCC to compile the library.
I understand your concerns, but please - just allow a few days for the bug to be fixed. There is usually a very fast turnaround for these kind of bugs, especially now that GCC is pretty close to a release. I am confident that the bug will be fixed within this week. Anyway, this works as a workaround (seq_index_ops.hpp, line 108) and makes the compiler successfully pass the test: #if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) enum { max_fill = std::numeric_limits<std::size_t>::digits+1 }; #else BOOST_STATIC_CONSTANT( std::size_t,max_fill=(std::size_t)std::numeric_limits<std::size_t>::digits+1); #endif Anyway I'd rather this to get in only if GCC 3.4 is released with this bug, which I believe it is highly unlikely. -- Giovanni Bajo

Giovanni Bajo ha escrito:
Joaquín Mª López Muñoz wrote:
test_list_ops.cpp generates an ICE which I already submitted for analysys. http://gcc.gnu.org/PR14448
I've briefly followed the discussions around the ICE and seems like the problem has to do with the definition of the static constant max_fill (am I right?) If so, do you know of some simple workaround? The fact that it is the compiler that is failing rather than my code does not make me any happier --I just want GCC to compile the library.
I understand your concerns, but please - just allow a few days for the bug to be fixed. There is usually a very fast turnaround for these kind of bugs, especially now that GCC is pretty close to a release. I am confident that the bug will be fixed within this week.
Of course, you are right. You know, at first sight I thought GCC 3.4 was officially released. If it is still on prerelease status then it is wiser to wait for the fix, as you point out. Thank you, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

At 09:17 AM 3/5/2004, Joaquín Mª López Muñoz wrote:
Review for indexed_set will take place in a couple of weeks; I'd like to ask for volunteers who want to try the tests on their compilers/platforms to make sure it works on a reasonable number of them. Current version has been tested for MSVC++ 6.0 SP5, ICC++ 7.1 and GCC 3.3.1 (cygwin). In particular, I'm interested in ICC+ 8.0 and MSVC 7.1, where prior versions of the library were tested without problems.
Last version of the library (9.2) available at
Metrowerks CodeWarrior 9.2 is also a really good compiler to test with, if you can find a volunteer. It correctly diagnoses 2-phase name lookup problems missed by many other compilers. --Beman

Beman Dawes <bdawes <at> acm.org> writes:
Last version of the library (9.2) available at
Metrowerks CodeWarrior 9.2 is also a really good compiler to test with, if you can find a volunteer.
Not you, perhaps? :) Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

At 04:15 PM 3/8/2004, Joaquin M Lopez Munoz wrote:
Beman Dawes <bdawes <at> acm.org> writes:
Last version of the library (9.2) available at
Metrowerks CodeWarrior 9.2 is also a really good compiler to test with, if
you can find a volunteer.
Not you, perhaps? :)
Sorry, no. I'm up against deadlines this week and next week leave for the C++ committee meeting. --Beman

on 3/8/04 4:15 PM, Joaquin M Lopez Munoz at joaquin@tid.es wrote:
Beman Dawes <bdawes <at> acm.org> writes:
Last version of the library (9.2) available at
Metrowerks CodeWarrior 9.2 is also a really good compiler to test with, if you can find a volunteer.
Not you, perhaps? :)
Joaquín, Now that Codewarrior 9.2 for Mac has been released I can test indexed_set for you. I tried the index_set 9.2 today and there were a number of warnings and one error that causes most of the tests to fail. The warning falls into three categories: - illegal empty declaration There are a number of functions that have a semi-colon after the closing brace. - return value expected index_base::final_max_size_ is missing a return statement. - variable / argument is not used in function There are a number of functions that have unused parameters. The error is an illegal access of the final method in header_holder:base_from_member. I've appended a complete list of warnings for test_basic.cpp. If you need anything (preprocessed files, ...) let me know. I will away starting tomorrow morning (Friday) until Sunday night. Chris Here is the complete list of warnings for test_basic.cpp: Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 109 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 109 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 115 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 115 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 121 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 121 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 127 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 127 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 137 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 137 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 143 }; Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 143 }; Warning : return value expected (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 102 _size_()const{final.max_size_();} Warning : variable / argument 'x' is not used in function (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 84 bool modify_(node_type* x){return tr Warning : variable / argument 'position' is not used in function (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 64 node_type* insert_(value_param_type v,nod Error : illegal access from 'boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>' to protected/private member 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::' (point of instantiation: 'test_basic()') (instantiating: 'boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>::indexed_set(const boost::tuples::cons<boost::tuples::tuple<boost::indexed_sets::identity<emplo yee>, std::less<employee>, 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::cons<boost::tuples::tuple<boost::indexed_sets::member<employe e, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, 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::cons<boost::tuples::tuple<boost::indexed_sets::member<employe e, int, {targ_expr}>, std::less<int>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::cons<boost::tuples::null_type, boost::tuples::null_type>>>> &, const std::allocator<employee> &)') (instantiating: 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::header_holder()') (instantiating: 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::final()') header_holder.hpp line 37 Final& final(){return *static_cast<Final*>(this);}

Hi Chris, Thanx for reporting. The warnings were all trivial, I'm working on the remaining error. Would you mind if a send you privately a modified version to retest? I don't want to upload it at the Files section right now Joaquín M López Muñoz Telefónica, Investigación y Desarrollo Chris Little ha escrito:
on 3/8/04 4:15 PM, Joaquin M Lopez Munoz at joaquin@tid.es wrote:
Beman Dawes <bdawes <at> acm.org> writes:
Last version of the library (9.2) available at
Metrowerks CodeWarrior 9.2 is also a really good compiler to test with, if you can find a volunteer.
Not you, perhaps? :)
Joaquín,
Now that Codewarrior 9.2 for Mac has been released I can test indexed_set for you.
I tried the index_set 9.2 today and there were a number of warnings and one error that causes most of the tests to fail.
The warning falls into three categories:
- illegal empty declaration
There are a number of functions that have a semi-colon after the closing brace.
- return value expected
index_base::final_max_size_ is missing a return statement.
- variable / argument is not used in function
There are a number of functions that have unused parameters.
The error is an illegal access of the final method in header_holder:base_from_member.
I've appended a complete list of warnings for test_basic.cpp. If you need anything (preprocessed files, ...) let me know. I will away starting tomorrow morning (Friday) until Sunday night.
Chris
Here is the complete list of warnings for test_basic.cpp:
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 109 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 109 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 115 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 115 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 121 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 121 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 127 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 127 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 137 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 137 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 143 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 143 };
Warning : return value expected (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 102 _size_()const{final.max_size_();}
Warning : variable / argument 'x' is not used in function (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 84 bool modify_(node_type* x){return tr
Warning : variable / argument 'position' is not used in function (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 64 node_type* insert_(value_param_type v,nod
Error : illegal access from 'boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>' to protected/private member 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::' (point of instantiation: 'test_basic()') (instantiating: 'boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>::indexed_set(const boost::tuples::cons<boost::tuples::tuple<boost::indexed_sets::identity<emplo yee>, std::less<employee>, 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::cons<boost::tuples::tuple<boost::indexed_sets::member<employe e, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, 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::cons<boost::tuples::tuple<boost::indexed_sets::member<employe e, int, {targ_expr}>, std::less<int>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::cons<boost::tuples::null_type, boost::tuples::null_type>>>> &, const std::allocator<employee> &)') (instantiating: 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::header_holder()') (instantiating: 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::final()') header_holder.hpp line 37 Final& final(){return *static_cast<Final*>(this);}
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (6)
-
Beman Dawes
-
Chris Little
-
Giovanni Bajo
-
Joaquin M Lopez Munoz
-
Joaquín Mª López Muñoz
-
Pavel Vozenilek