Commit Graph

166 Commits

Author SHA1 Message Date
Vladimir Prus
76a62c1809 Fix warning push/pop mismatch.
Fixes #5869.


[SVN r75064]
2011-10-19 16:20:56 +00:00
Jürgen Hunold
540e300c38 Enable visibility support. Refs #2114.
[SVN r73299]
2011-07-22 12:08:03 +00:00
Vladimir Prus
7051655c76 Clarify docs for 'zero_token'.
Fixes #1132.


[SVN r67774]
2011-01-08 11:45:50 +00:00
Vladimir Prus
38e7ea8516 Implement variables_map::clear to clear extra members.
Fixes #4927


[SVN r67772]
2011-01-08 10:39:21 +00:00
Marshall Clow
e3f331a23b Take argv as const; refs #3909
[SVN r66959]
2010-12-01 18:54:41 +00:00
Jürgen Hunold
7d7dad09d3 Suppress msvc warning 4251 about templates as base classes not having a dll-interface.
Suppress msvc warning 4275 about base class std::logic_error not having a dll-interface.


[SVN r65318]
2010-09-06 08:43:06 +00:00
Vladimir Prus
572a93ac5b Fix -Wshadow warnings. Closes #4015.
Patch from Tatu Kilappa.


[SVN r62236]
2010-05-26 10:40:34 +00:00
Vladimir Prus
e79708eee7 Fix types. Closes #4069.
[SVN r62235]
2010-05-26 09:51:10 +00:00
Sascha Ochsenknecht
388c0d1e35 reactive case_insensitive style for cmdline
[SVN r58274]
2009-12-10 20:29:49 +00:00
Sascha Ochsenknecht
a5e45eda5f reactive case_insensitive style for cmdline
[SVN r58273]
2009-12-10 20:25:53 +00:00
Sascha Ochsenknecht
970e377710 Enhancement to flag options as required, Fixes #2982
[SVN r58263]
2009-12-10 08:46:44 +00:00
Sascha Ochsenknecht
645adb48cb Allow passing file name to parse_config_file(), Fixes #3264
[SVN r58248]
2009-12-09 13:45:01 +00:00
Sascha Ochsenknecht
9a04daa2b2 Better detection of missing values on command line, Fixes #3423
[SVN r58184]
2009-12-06 09:52:53 +00:00
Sascha Ochsenknecht
5f01f7bf3f better detection of ambiguous options, see Ticket #3423
[SVN r58152]
2009-12-05 08:08:45 +00:00
Sascha Ochsenknecht
6e0f1db1fc Clean up exception classes, changes regarding to Ticket #3423
[SVN r58138]
2009-12-04 13:38:56 +00:00
Sascha Ochsenknecht
35bf26f432 Changed defaults for split_unix() function to be more compliant to unix command line style
[SVN r58134]
2009-12-04 10:15:11 +00:00
Sascha Ochsenknecht
00dadb4203 enhance split_unix() to allow unix style splitting of command line string
[SVN r58133]
2009-12-04 08:09:43 +00:00
Sascha Ochsenknecht
263534a213 rename description_length to min_description_length for better semantic
[SVN r58112]
2009-12-03 11:11:34 +00:00
Sascha Ochsenknecht
60966caa35 Additional parameter to allow user to specify width of column for description text, patch from Chard, Fixes #3703
[SVN r58095]
2009-12-02 13:35:54 +00:00
Sascha Ochsenknecht
b3e9b5180e add general split function, Fixes #2561
[SVN r57971]
2009-11-27 17:47:51 +00:00
Sascha Ochsenknecht
63c0bf7bfc remove compile warnings, Fixes #2562
[SVN r57800]
2009-11-20 09:09:36 +00:00
Vladimir Prus
aaa914e9a4 Add option name to a few exception classes.
Fixes #3423. Patch from Sascha Ochsenknecht.


[SVN r57746]
2009-11-18 13:35:14 +00:00
Hartmut Kaiser
79b43138d6 ProgramOptions: Fixed warning about not all control paths returning a value
[SVN r53795]
2009-06-11 20:05:19 +00:00
Vladimir Prus
354717d9c9 Make program_options compile with disabled exceptions.
It appears the all throw statements are during the
parsing, so alternative error reporting strategies are
possible. 
Closes #2096.


[SVN r53723]
2009-06-07 16:10:03 +00:00
Vladimir Prus
55a1a045a3 Include missing #include of 'iterator'.
Addresses #3072.


[SVN r53623]
2009-06-04 10:09:15 +00:00
Jeremiah Willcock
3c3b8d8818 Fixed most tab and min/max issues from trunk inspection report
[SVN r53141]
2009-05-20 19:19:00 +00:00
Vladimir Prus
454c878389 Make sure _MSC_VER is defined before checking its value.
[SVN r51639]
2009-03-07 15:32:14 +00:00
Marshall Clow
4dcce9efce Replaced all occurrences of non-ASCII copyright symbol with '(c)' for people using non-ASCII code pages
[SVN r43992]
2008-04-02 01:42:32 +00:00
Vladimir Prus
316e2fabe4 Tolerate argc being zero.
Patch from C. K. Jester-Young.


[SVN r43207]
2008-02-10 13:13:41 +00:00
Beman Dawes
152fbd8384 // Add or correct comment identifying Boost library this header is associated with.
[SVN r41173]
2007-11-17 20:13:16 +00:00
Vladimir Prus
e51a3ae742 Support for 'implicit' options.
Patch from Bryan Green.
Fixes #1131.


[SVN r38514]
2007-08-08 18:40:48 +00:00
Vladimir Prus
8c39e5aa8d When parsing vector<T>, use validator for
type T.
Fixes #1118.


[SVN r38459]
2007-08-05 18:38:07 +00:00
Vladimir Prus
d0aa5abee5 Implement support for unregistered options in config files. Closes #687.
[SVN r38191]
2007-07-11 19:39:06 +00:00
Vladimir Prus
c00c4a57db Define static const member in .cpp. Fixes #646.
[SVN r38108]
2007-06-28 07:05:50 +00:00
Hartmut Kaiser
e42f028278 Fixed VC8 warnings about inconsistent dll export declarations.
[SVN r38099]
2007-06-26 19:13:33 +00:00
John Maddock
8c1982de82 Fix for Borland compilers.
[SVN r35652]
2006-10-18 12:33:54 +00:00
Hartmut Kaiser
b99ae04040 Fixed a dllimport/dllexport problem.
[SVN r34049]
2006-05-20 22:14:41 +00:00
Vladimir Prus
de66d37405 Make positional_options_description::add return reference to *this.
[SVN r33989]
2006-05-18 05:59:56 +00:00
Vladimir Prus
a4375600a2 Make validation_error::what public, as it's public in std::exception.
[SVN r33969]
2006-05-15 14:05:47 +00:00
Vladimir Prus
bec34dd1b9 Note that variables_map is inherited from std::map, since BoostBook
"hides" that information.


[SVN r33786]
2006-04-24 09:50:30 +00:00
Vladimir Prus
7b73b2e84c Fix typos.
Thanks to Olaf van der Spek for the report!


[SVN r33784]
2006-04-24 09:41:22 +00:00
Vladimir Prus
5e4b39d672 Fix SF bug 1395874. When both "all" and "all-chroots" options were registered
and "--all" was specified on command line and approximation was on,
ambiguity was reported. Now, "all" is recognized.


[SVN r32263]
2006-01-09 09:06:24 +00:00
Vladimir Prus
e1d38380f4 Allow to query the type of options:
- add new class typed_value_base, with "value_type" method
- derived typed_value from typed_value_base

Idea from Giuseppe Vacanti.


[SVN r31752]
2005-11-23 09:14:02 +00:00
Vladimir Prus
e7e1550269 Add 'extra_style_parser' method to basic_command_line_parser. Previously
this functionality was not available to use user due to private
derivation from detail::cmdline.


[SVN r31491]
2005-10-27 09:42:13 +00:00
Vladimir Prus
a00a6c9d19 Really make unregistered options to work.
- Add forwarding method allow_unregistered to the basic_command_line parser
  class.
- Add new 'collect_unrecognized' function
- Add new field 'original_tokens' to the basic_option class


[SVN r31490]
2005-10-27 09:20:16 +00:00
Markus Schöpflin
78c3d90280 Fixed previous checkin.
[SVN r29621]
2005-06-16 13:23:17 +00:00
Markus Schöpflin
2f17c3b9b9 Added workaround for Tru64/CXX, getline() is not defined in <string> when
compiling in strict ansi mode. This is a bug in the string header file.


[SVN r29617]
2005-06-16 12:49:32 +00:00
Vladimir Prus
a78a1f0d76 Unroll 'make parse_command_line' const-correct patch, because it causes too
much troubles. Basically, consider;

    char* cmdline3_[1] = {};

    template<class charT>
    void func(const charT* const argv[]) {}

    int main()
    {
        func(cmdline3_);
        char** p = cmdline3_;
        func(p);
    }

EDG compilers can't deduce template argument in the first call. See
http://thread.gmane.org/gmane.comp.lib.boost.devel/125396 for details.
Some other compilers (borland, vc 7.0) see to be have this issue too.


[SVN r29615]
2005-06-16 10:44:23 +00:00
Vladimir Prus
5af27a78e7 Use boost::throw_exception instead just throw_exception. Otherwise, borland
"forgets" to generate code for the function call.


[SVN r29614]
2005-06-16 10:29:49 +00:00
John Maddock
da4baad235 Added qualifier to cmdline type to fix Borland failures.
[SVN r28987]
2005-05-17 11:44:44 +00:00
Rene Rivera
0c1332a0d3 Some compilers don't support, or make it hard to use, source relative includes. So avoid them.
[SVN r28920]
2005-05-15 06:32:18 +00:00
Vladimir Prus
6b57600a81 Finally make 'allow_unregistered' method of cmdline work.
[SVN r28689]
2005-05-06 07:48:45 +00:00
Vladimir Prus
9a149beb76 Fix 'unknown option' error for two successive calls to 'store'.
The bug triggered if
- we store two parsed_option object into variables_map
- the options descriptions associated with those parsed_option objects
  are different
- an option present in first parser_option object is not declared in
  second options_description.

The problem was that on the second 'store' call we went over all
stored options, trying to get their description from the *second*
options description object.

Thanks to Hartmut Kaiser for the bug report.


[SVN r28685]
2005-05-06 06:40:39 +00:00
Hartmut Kaiser
dc9097c3d0 Make the True64 compiler happy.
[SVN r28663]
2005-05-05 16:50:41 +00:00
Vladimir Prus
d4748e8153 Fix a regression -- the if the 'style' argument to parse_command_line
function was zero, it was interpreted as no style is suppored. Previously,
it was interpreted as default_styles. Also, remove 'style' argument from
'cmdline' constructors.


[SVN r28500]
2005-04-27 07:02:39 +00:00
Vladimir Prus
efc9712f70 Check for invalid options in vector<option> returned by extra style
parser or additional parser.


[SVN r28468]
2005-04-25 09:06:44 +00:00
Vladimir Prus
94d186836e Derive basic_command_line_parser from cmdline.
Eliminate 'common_command_line_parser'.


[SVN r28419]
2005-04-22 15:32:23 +00:00
Vladimir Prus
6565cbc334 Revive 'additional parser'.
[SVN r28415]
2005-04-22 14:05:17 +00:00
Vladimir Prus
c984d59de1 Refactor the command line parser so that it uses options_description,
as opposed to having his own data structures. Clean up option description
classes a bit, removing unneeded methods. Remove support for 'implicit'
options.


[SVN r28413]
2005-04-22 13:35:45 +00:00
Vladimir Prus
07778adab7 Use direct cast from any to reference, recently introduced in CVS.
[SVN r28411]
2005-04-22 12:56:15 +00:00
Vladimir Prus
c2442fcad6 Remove a couple of unused option_description members.
[SVN r27494]
2005-02-24 12:57:07 +00:00
Vladimir Prus
58d35a27b9 Change "throw" to "throw_exception".
[SVN r27398]
2005-02-16 09:03:19 +00:00
Vladimir Prus
69d2f8fb21 Use "const char * const []" for parameters which take command line.
[SVN r27397]
2005-02-16 08:09:36 +00:00
Vladimir Prus
cedd6570fd Patches for IRIX MIPSPro. See
https://sourceforge.net/tracker/?func=detail&atid=307586&aid=1115576&group_id=7586


[SVN r27269]
2005-02-09 09:06:45 +00:00
Vladimir Prus
c3e02a2b0a Merge the utf8 workaround in program_options and serialization and
put the result to boost/detail and libs/detail.


[SVN r26758]
2005-01-20 08:49:13 +00:00
Vladimir Prus
87558bfe7c Added wordwrapping and improved intentation for options_description
output.

Patch from Bertolt Mildner.


[SVN r26679]
2005-01-12 12:05:47 +00:00
John Maddock
a122bb502b Fixed and activated auto-linking code.
[SVN r26145]
2004-11-08 12:21:52 +00:00
Vladimir Prus
9bd7193660 Make program_options compile on IBM compiler.
Patch from Matthias Troyer.


[SVN r26096]
2004-11-03 07:11:45 +00:00
Vladimir Prus
e7fd9b25ad Add comments
[SVN r26081]
2004-11-02 07:41:35 +00:00
Vladimir Prus
adab37a443 Intel workaround
[SVN r25425]
2004-09-27 06:56:36 +00:00
Vladimir Prus
de971fc1e0 Add declspec, in hope to fix a CW9.3 problem
[SVN r25399]
2004-09-25 10:02:17 +00:00
Vladimir Prus
97b337c1ce MinGW-no-wstring workaround
[SVN r25292]
2004-09-21 06:20:02 +00:00
Vladimir Prus
074c154d18 Fix a recently introduces failure of unicode_test. I was trying
to form an argument to logic_error using wstring, which did not work. Now
try to convert wstring into local 8-bit encoding, and use a dummy text
when that fails.


[SVN r25242]
2004-09-20 06:14:18 +00:00
Vladimir Prus
ea1ce5aa1f More validation_error text improments
[SVN r25142]
2004-09-16 07:23:28 +00:00
Vladimir Prus
ca1531d210 Improve the error reporting for invalid option values. Now the
'validation_error' exception allows to set the name of the option, and the
what() method uses the name to generate better message.


[SVN r25141]
2004-09-16 07:10:27 +00:00
Vladimir Prus
72fda8877a Comment edit
[SVN r25107]
2004-09-15 09:57:32 +00:00
Vladimir Prus
44d5ba98c1 Improve 'bool_switch' -- don't accept any argument on the command line.
Allow to set 'zero_tokens' flag for the typed_value type.


[SVN r25105]
2004-09-15 09:49:00 +00:00
Vladimir Prus
7fa6a814ab Move include of <detail/workaround.hpp>
before the point where BOOST_WORKAROUND is used. Thanks to
Llew Sion Goodstadt.


[SVN r24936]
2004-09-06 12:01:38 +00:00
Vladimir Prus
aed75819ef Fix a couple of warnings, thanks to Rodolfo Schulz de Lima.
[SVN r24931]
2004-09-06 06:13:42 +00:00
Vladimir Prus
ecc78f148c Clarify doc comment.
[SVN r24689]
2004-08-24 05:36:11 +00:00
Vladimir Prus
b4192e34b9 Another set of doc/comment edits from Charles.
[SVN r24657]
2004-08-23 10:18:09 +00:00
Douglas Gregor
c789115d52 Converted to Boost Software License, Version 1.0
[SVN r24096]
2004-07-27 03:43:34 +00:00
Vladimir Prus
138d959d68 Don't instantiate std::vector with incomplete type, this is not allowed.
Thanks to Jonathan Wakely for the report.


[SVN r23942]
2004-07-22 07:39:34 +00:00
Vladimir Prus
2aa09ac7b2 Fix the utf8_codecvt::do_length declaration. Pointed out by Rene Rivera.
[SVN r23882]
2004-07-21 07:49:15 +00:00
Vladimir Prus
3e4531b71f Make the library compile on mingw, again. Thanks to Janusz Piwowarski for the
patch.


[SVN r23772]
2004-07-19 08:38:03 +00:00
Vladimir Prus
6f49b5b999 Patch from John Maddock for platforms without wchar_t support, specifically
cygwin.


[SVN r23576]
2004-07-15 11:40:26 +00:00
Vladimir Prus
9133a2e903 Added 'split_winmain' function.
[SVN r23550]
2004-07-14 15:57:02 +00:00
Vladimir Prus
9281df58d2 Include wchar.h so that mbstate_t is available in global namespace. Maybe,
I should revert the last patch, which made the file use ::mbstate_t as
opposed to std::mbstate_t, but I'm waiting for Pavel to tell why it was
necessary to use ::mbstate_t and if this version of borland can be made
to work in some other way.


[SVN r23528]
2004-07-14 08:36:58 +00:00
Vladimir Prus
f084eeac4b Applied numerious suggestions from Pavel Vozenilek.
[SVN r23496]
2004-07-13 15:12:26 +00:00
Vladimir Prus
fec30e0c6c Workaround bugs in std::vector<bool> on msvc 7.1.
Thanks to Rob Lievaart for reporting/diagnosing this.


[SVN r23372]
2004-07-06 15:48:48 +00:00
Vladimir Prus
7a614e26ef More declspecs.
[SVN r23280]
2004-06-30 07:16:09 +00:00
Vladimir Prus
82ecb460b3 Add missing DLL exports for Windows.
[SVN r23249]
2004-06-29 07:36:09 +00:00
Vladimir Prus
75a6e42360 Patch from Janusz Piwowarski, to make the library work on mingw, despite
the fact the mingw does not have std::wstring. The patch disables wchar_t
support, but it allows the rest of the library to work ok.


[SVN r23111]
2004-06-17 12:34:59 +00:00
Vladimir Prus
7c452dcfac Another attempt to make sun happy.
[SVN r23108]
2004-06-17 07:00:01 +00:00
Vladimir Prus
df45b22508 More vc6 workarounds.
[SVN r23101]
2004-06-15 09:15:32 +00:00
Vladimir Prus
b6f9e1f367 Workaround for vc6/vc7.
[SVN r23081]
2004-06-11 06:11:34 +00:00
Vladimir Prus
b441ebab91 Restructure the implementation to avoid the need to specialize member
templates, which does not work on some compilers.

* new 'to_internal' function which takes a vector.
* new 'common_command_line_parser' class.


[SVN r23054]
2004-06-08 08:14:09 +00:00
Vladimir Prus
990ae86a20 Convert the 'validator' class into 'validate' function. Add a fake parameter
to specify type to convert to, and long/int parameter to fake partial template
ordering. Hopefully, this will work on some broken compilers.


[SVN r23052]
2004-06-08 07:06:44 +00:00
Vladimir Prus
d6bea29bce Rename value_semantic_codecvt_helper::parse to xparse, to avoid warnings
about overloading vs. overriding. The warning is wrong, but both gcc and
Comeau emit it.


[SVN r23050]
2004-06-08 05:07:56 +00:00
Vladimir Prus
2466bdea09 Introduce new 'to_internal' function. Don't specialize
basic_config_file_iterator::getline on wchar_t, since that causes problems
with borland and vc7.


[SVN r23043]
2004-06-07 14:10:55 +00:00