diff --git a/include/boost/program_options/detail/parsers.hpp b/include/boost/program_options/detail/parsers.hpp index 8c5b02e..b644aaa 100644 --- a/include/boost/program_options/detail/parsers.hpp +++ b/include/boost/program_options/detail/parsers.hpp @@ -12,20 +12,6 @@ namespace boost { namespace program_options { - namespace detail { - template - std::vector > - make_vector(Iterator i, Iterator e) - { - std::vector > result; - // Some compilers don't have templated constructor for - // vector, so we can't create vector from (argv+1, argv+argc) range - for(; i != e; ++i) - result.push_back(*i); - return result; - } - } - template basic_command_line_parser:: basic_command_line_parser(const std::vector< @@ -38,9 +24,7 @@ namespace boost { namespace program_options { basic_command_line_parser:: basic_command_line_parser(int argc, const charT* const argv[]) : detail::cmdline( - // Explicit template arguments are required by gcc 3.3.1 - // (at least mingw version), and do no harm on other compilers. - to_internal(detail::make_vector(argv+1, argv+argc+!argc))), + to_internal(std::vector >(argv+1, argv+argc))), m_desc() {} @@ -49,7 +33,7 @@ namespace boost { namespace program_options { basic_command_line_parser& basic_command_line_parser::options(const options_description& desc) { - detail::cmdline::set_options_description(desc); + detail::cmdline::set_options_description(desc); m_desc = &desc; return *this; }