12
12
13
13
namespace boost { namespace program_options {
14
14
15
- namespace detail {
16
- template <class charT , class Iterator >
17
- std::vector<std::basic_string<charT> >
18
- make_vector (Iterator i, Iterator e)
19
- {
20
- std::vector<std::basic_string<charT> > result;
21
- // Some compilers don't have templated constructor for
22
- // vector, so we can't create vector from (argv+1, argv+argc) range
23
- for (; i != e; ++i)
24
- result.push_back (*i);
25
- return result;
26
- }
27
- }
28
-
29
15
template <class charT >
30
16
basic_command_line_parser<charT>::
31
17
basic_command_line_parser (const std::vector<
@@ -38,9 +24,7 @@ namespace boost { namespace program_options {
38
24
basic_command_line_parser<charT>::
39
25
basic_command_line_parser (int argc, const charT* const argv[])
40
26
: detail::cmdline(
41
- // Explicit template arguments are required by gcc 3.3.1
42
- // (at least mingw version), and do no harm on other compilers.
43
- to_internal (detail::make_vector<charT, const charT* const *>(argv+1 , argv+argc+!argc))),
27
+ to_internal (std::vector<std::basic_string<charT> >(argv+1 , argv+argc))),
44
28
m_desc()
45
29
{}
46
30
@@ -49,7 +33,7 @@ namespace boost { namespace program_options {
49
33
basic_command_line_parser<charT>&
50
34
basic_command_line_parser<charT>::options(const options_description& desc)
51
35
{
52
- detail::cmdline::set_options_description (desc);
36
+ detail::cmdline::set_options_description (desc);
53
37
m_desc = &desc;
54
38
return *this ;
55
39
}
0 commit comments