543 Commits

Author SHA1 Message Date
Peter Dimov c8cd11ddf5 Update ci.yml 2023-10-21 18:13:15 +03:00
Ed Catmur 847b130e19 Use BOOST_DEFAULTED_FUNCTION on empty destructors (#122)
The compiler-generated copy constructor and copy assignment operator are deprecated since C++11 on classes with user-declared destructors.

This change allows clean compilation with the -Wdeprecated-copy-dtor/-Wdeprecated-copy-with-user-provided-dtor flag.

Co-authored-by: Ed Catmur <edward.catmur@mavensecurities.com>
2023-02-23 14:39:17 +03:00
Edward Diener 0a1e54ba90 [skip ci] Add "cxxstd" metadata field 2021-07-11 18:02:14 +03:00
Peter Dimov 7bcbb4ea23 Update ci.yml boost-1.78.0.beta1 boost-1.77.0 boost-1.83.0 boost-1.82.0.beta1 boost-1.82.0 boost-1.81.0.beta1 boost-1.81.0 boost-1.80.0.beta1 boost-1.80.0 boost-1.79.0.beta1 boost-1.79.0 boost-1.83.0.beta1 boost-1.78.0 boost-1.77.0.beta1 2021-06-09 19:14:13 +03:00
Peter Dimov 827426db9c Do not define BOOST_PROGRAM_OPTIONS_SOURCE in CMakeLists.txt 2021-06-09 18:43:51 +03:00
Peter Dimov e9403da22d Update ci.yml 2021-05-28 18:33:52 +03:00
Peter Dimov 36052766c7 Update ci.yml 2021-05-28 17:43:33 +03:00
Peter Dimov ddfaf00542 Merge pull request #106 from boostorg/pr/exception-visibility
Mark exception classes as BOOST_SYMBOL_VISIBLE
2021-05-28 17:37:37 +03:00
Peter Dimov ce6a40b81a Add CMakeLists.txt 2021-05-28 00:53:15 +03:00
Peter Dimov 7a7f0ce1fa Mark the rest of the exception classes as BOOST_SYMBOL_VISIBLE 2021-02-02 21:41:06 +02:00
Peter Dimov f1e9b5dc15 Add back _DECL to exception classes to avoid warnings when an exported class inherits from a non-exported one 2021-02-02 21:41:06 +02:00
Peter Dimov df8412fe9e Mark header-only exception classes as visible 2021-02-02 21:41:06 +02:00
Peter Dimov 3c0d0fa6ee msvc-14.2 /std:c++latest no longer allows literal to char* conversions (#105) 2021-02-02 22:24:32 +03:00
Peter Dimov f62555fa75 Add .github/workflows 2021-02-02 20:34:50 +02:00
Peter Dimov 43cc2af3b1 Merge branch 'master' into develop 2021-02-02 19:19:09 +02:00
Edward Diener 0414abe3f4 Unbreak Embarcadero C++ clang-based compilers
* Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.

* Restored a Borland check.

* Specify std:: for all standard identifiers and remove 'using namespace std:'.

* Removed std:: from C header abort call.

* Moved 'using namespace std;' after header file inclusions
2020-08-25 19:30:10 +03:00
Mateusz Łoskot a2379420f6 Avoid deprecated bind placeholders in global namespace
This fixes numerous compilation warnings:

  note: #pragma message:
    The practice of declaring the Bind placeholders (_1, _2, ...)
    in the global namespace is deprecated.
    Please use <boost/bind/bind.hpp> + using namespace boost::placeholders,
    or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.
2020-04-01 14:13:13 +03:00
Peter Dimov fcffe08c83 Remove manual RTTI defines 2019-06-01 22:19:45 +03:00
Vladimir Prus bc0c90a70f Merge branch 'develop' boost-1.74.0.beta1 boost-1.70.0.beta1 boost-1.75.0.beta1 boost-1.75.0 boost-1.68.0 boost-1.74.0 boost-1.73.0.beta1 boost-1.73.0 boost-1.72.0.beta1 boost-1.72.0 boost-1.71.0.beta1 boost-1.71.0 boost-1.76.0.beta1 boost-1.70.0 boost-1.69.0-beta1 boost-1.69.0 boost-1.76.0 2018-07-06 17:35:40 +03:00
Vladimir Prus d95d316848 fix msvc 10 error. 2018-07-06 17:35:12 +03:00
Emre Turkay 0410ddcbd2 Pull back cpp file change of default template value definition for parse_config_file. 2018-07-06 10:38:43 +03:00
Emre Turkay 64c3ae0fde Specified a default value for the template argument of parse_config_file. 2018-07-06 10:38:43 +03:00
Vladimir Prus 331ed69055 Merge branch 'develop' 2018-07-06 10:36:17 +03:00
Vladimir Prus a2cbe31bef fix typo 2018-07-06 10:34:49 +03:00
Vladimir Prus 46ad442da1 Merge branch 'develop' 2018-06-27 22:32:29 +03:00
Eyal Rozenberg 589d55837e Fixes #1: Support for multiple long names per option
An unintrusive implementation - no existing interfaces changed, and a single addition for obtaining all of the different long names.

Notes:

* Tests added for the new functionality, and existing tests expanded to take it into account.
* It is now impossible to specify long names with commas in them (but then, that wasn't properly supported before either, more of an oversight).
* The multiple long options are not included in the usage information - just the first one of them is printed
2018-06-27 22:25:43 +03:00
Vladimir Prus 4b81beaaa9 Disable usbsan.
It presently fails like this:

    /usr/bin/ld: unrecognized option '--push-state--no-as-needed'
    /usr/bin/ld: use the --help option for usage information
    collect2: error: ld returned 1 exit status
        "g++-7"    -o "../../bin.v2/libs/program_options/test/gcc-7/debug/cxxstd-03-iso/link-static/test_convert"
       -Wl,--start-group
        "../../bin.v2/libs/program_options/test/gcc-7/debug/cxxstd-03-iso/link-static/test_convert.o"
        "../../bin.v2/libs/program_options/build/gcc-7/debug/cxxstd-03-iso/link-static/libboost_program_options.a"
       -Wl,-Bstatic  -Wl,-Bdynamic  -Wl,--end-group -m64 -std=c++03 -g -fno-sanitize-recover=undefined -fsanitize=undefined

This error seems like some misconfiguration of compiler install, not something I can fix.
2018-06-14 15:02:07 +03:00
Vladimir Prus bacc983235 Disable examples that use C++11 features. 2018-06-14 13:57:17 +03:00
James E. King, III 7d495841ed Fix mention of date_time in the readme 2018-05-14 17:59:01 +03:00
Daniel James 646cc20a54 Fix the documentation build 2018-03-23 11:26:22 +03:00
Tom Kent 9bf97405dc Additional examples (#21)
* Added multiple inputs to example

In the section after the introduction of using value<vector<...>> to store
multiple values, I updated the example to show multiple input values and their
results.

* Make it clear how to enable sections for ini files

It was unclear how the user should support sections, should they have nested options_description's (no), nested variables_map's (no), it is just a dotted string that is input! This adds a snippet showing that.

* Added an example for environment options

This example shows how to use program_options to pull environmental options
into a program. This instance uses a function to map env options to config
options.

* Added an example showing different types in a config file

I went through a lot of the common types that a user may want to include in
a config file (especially the boolean options) and showed an example with
them all.

With some minor modifications, this could also be added to the tests directory
as there are several cases in here that I didn't see checked anywhere else in
the code.

* Added explanation comments to new examples

* Added an example with a heirarchy of inputs

This file shows an example program that can get inputs from the command line,
environmental variables, multiple config files specified on the command line,
and a default config file. There are multiple usage examples at the bottom in
the comments.

* Reference to example showing environment options

* Added section detailing type conversion.

Added explicity acknowledging that hex/oct/bin formatted strings aren't allowed.
Detailed the bool_switch value and what strings evaluate true/false.

* Added a global to the config file example

* Semicolon typo

* Split components into seperate functions

* Added unregistered entry and flag to prevent error

* Added logic to capture unregistered value

* Build new examples

* Backslashes need escaping on unix

* match permissions
2018-03-22 18:29:58 +03:00
Vladimir Prus 491cb17e3a Fix uninitialized validation_error::m_kind. 2018-03-16 12:35:57 +03:00
Vladimir Prus d295fcca69 Disable coverity, since they appear to have some problems. 2018-03-15 22:58:22 +03:00
Vladimir Prus f955bd6b9f Update appveyor master badge. 2018-03-15 22:52:02 +03:00
Vladimir Prus 46caf622db Merge branch 'develop' boost-1.67.0 2018-03-15 22:21:23 +03:00
Vladimir Prus 168f96934f Change appveyor badge url 2018-03-15 22:13:25 +03:00
Vladimir Prus a561f71e84 Make build status links point to program_options 2018-03-12 01:37:17 +03:00
Vladimir Prus c2f064650d Add CI status table 2018-03-12 01:34:51 +03:00
James E. King III 5ae515c5b3 add ci bits and readme 2018-03-12 01:26:55 +03:00
Kohei Takahashi 84d5b35261 Compile error with initializer list on c++03 2018-03-06 22:35:28 +03:00
Peter Dimov ec3aded08e Add quick test target (for CI) 2017-12-02 18:38:20 +02:00
Vladimir Prus 046501c191 Fix member hiding warnings.
Fixes #35.
2017-10-25 16:24:36 +03:00
Sylvain Joubert 4f52423dca Remove extra parens in boost::optional how-to example 2017-10-12 14:28:57 +03:00
Tatsuyuki Ishi 110772c0ac Simplify vector initialization 2017-07-24 22:34:59 +03:00
Johannes Spangenberg fcee593529 fix suppressing I/O error in parse_config_file
corresponding issue: https://svn.boost.org/trac10/ticket/13125
2017-07-24 22:22:31 +03:00
Vladimir Prus d9ef3853c6 Merge branch 'develop' boost-1.66.0 boost-1.65.1 boost-1.65.0 2017-07-24 21:48:56 +03:00
Vladimir Prus d164a20bc9 Additional test for error reporting.
Closes #30.
2017-07-24 21:48:04 +03:00
Vladimir Prus 3e1d2603e6 Fix out-of-range error
Closes #31.
2017-07-21 18:30:47 +03:00
Vladimir Prus acaa4c94e1 Merge branch 'develop' 2017-06-25 21:41:31 +03:00
Vladimir Prus a30cc1082f Feature macro for use-next-token-for-implicit-option behaviour. 2017-06-25 21:39:43 +03:00