663 Commits

Author SHA1 Message Date
Edward Diener
55e977964a Merge pull request #49 from CromwellEnage/doc_reference_upgrade
Upgrade reference documentation
2019-01-14 12:43:54 -05:00
Edward Diener
7a430fdfd0 Merge pull request #47 from CromwellEnage/feature_mp11
Introduce support for Boost.MP11
2019-01-14 12:43:30 -05:00
Edward Diener
dab935934e Merge pull request #45 from CromwellEnage/preprocessor_generated_overloads
Upgrade code generation macros
2019-01-14 12:35:37 -05:00
Edward Diener
5d3964f4b6 Merge pull request #44 from CromwellEnage/literate_update
Update literate tests and tutorial documentation
2019-01-14 12:33:26 -05:00
Edward Diener
26cf7a7003 Merge pull request #42 from CromwellEnage/travis_upgrade
Upgrade .travis.yml
2019-01-14 12:32:32 -05:00
CromwellEnage
0a1cd586c0 Change access scope of implementation typedefs from public to private; change spelling 2019-01-14 00:23:59 -05:00
CromwellEnage
d5165a3388 Move #include statement to correct place 2019-01-13 22:58:46 -05:00
CromwellEnage
81406effc8 Upgrade reference documentation
* Add example to compose() function documentation.
* Add cross-referencing hyperlinks & hyperlinks to C++ standard documentation.
2019-01-13 22:53:31 -05:00
CromwellEnage
cada51d711 Fix numbering & const font 2019-01-13 22:35:33 -05:00
CromwellEnage
a9ee94a21b Use minimal header file to #include 2019-01-04 11:43:48 -05:00
CromwellEnage
af65130fa1 Update BOOST_PARAMETER_*_ARITY preprocessor guard statements
Adjust for the fact that BOOST_PARAMETER_MAX_ARITY is defined regardless of whether or not BOOST_PARAMETER_HAS_PERFECT_FORWARDING is defined.
2019-01-04 11:40:07 -05:00
CromwellEnage
a876a4b400 Move #include statement to correct place 2019-01-04 11:32:46 -05:00
CromwellEnage
016f949eba Add are_tagged_arguments<>, compose(), and code generation macros
* Add variadic metafunction boost::parameter::are_tagged_arguments to help improve overload resolution capabilities.  Used by compose() and the new BOOST_PARAMETER_NO_SPEC_* code generation macros.
* Add variadic function template compose() which takes in named arguments and returns them in an argument pack.
* Add code generation macros BOOST_PARAMETER_BASIC_FUNCTION_CALL_OPERATOR, BOOST_PARAMETER_BASIC_CONST_FUNCTION_CALL_OPERATOR, BOOST_PARAMETER_NO_SPEC_FUNCTION, BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION, BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION, BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR, BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR, BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR, and BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR.
2019-01-04 08:39:53 -05:00
CromwellEnage
fe34412116 Add workarounds for GCC 3.x or earlier
* Fix compiler error: base `boost::reference_wrapper<int>' with only non-default constructor in class without a constructor.
* Ignore normalized_argument_types test failures.
2019-01-04 03:57:15 -05:00
CromwellEnage
dcef517081 Upgrade reference documentation
Add usage examples to & remove unnecessary implementation details from reference documentation.
2019-01-04 03:45:54 -05:00
CromwellEnage
c228d46eaf Introduce support for Boost.MP11
<boost/parameter/config.hpp>
* Introduce configuration macros BOOST_PARAMETER_CAN_USE_MP11 and BOOST_PARAMETER_DISABLE_MP11 usage.
* Update perfect forwarding support requirements to fix regressions on test matrix.

<boost/parameter/parameters.hpp>
* Allow mp11::mp_list to be default parameter_spec type if available.
2019-01-04 02:33:50 -05:00
CromwellEnage
250de8367d Upgrade code generation macros
Enable preprocessor-generated function call operator overloads & overloads of the same name to coexist even with deduced arguments.  SFINAE required.
2019-01-01 20:12:13 -05:00
CromwellEnage
01be812580 Update literate tests and tutorial documentation
* Fix compiler failures showing up on regression test matrix due to void return type.
* Fix gcc-3.4 failures showing up regression test matrix due to binding string literals to non-const references to char const*.
* Update tutorial documentation to match literate tests.
2019-01-01 05:27:18 -05:00
CromwellEnage
cbc2663a6c Upgrade .travis.yml
Add clang++-6.0 for linux to test matrix.
2018-12-22 04:58:29 -05:00
Cromwell D. Enage
dd89b991cf Merge with boostorg/parameter 2018-12-22 03:09:43 -05:00
Edward Diener
ee106a3aa1 Updated for b2 cmake support. 2018-12-19 22:32:58 -05:00
Cromwell D. Enage
a5d0ec380f Merge with boostorg/parameter 2018-12-02 06:19:23 -05:00
Edward Diener
28efddc033 Merge pull request #38 from CromwellEnage/doc_index
Fix argument composition tutorial documentation
2018-12-02 01:38:32 -05:00
Edward Diener
756b98bf32 Merge pull request #37 from CromwellEnage/mpl_has_key
Fix mpl::has_key_impl<parameter::aux::arg_list_tag> specialization
2018-12-02 01:37:03 -05:00
CromwellEnage
1626f23369 Fix argument composition tutorial documentation
The compose.cpp test program does not use LIBS_PARAMETER_TEST_COMPILE_FAILURE_2 or LIBS_PARAMETER_TEST_COMPILE_FAILURE_3.
2018-11-29 14:30:27 -05:00
CromwellEnage
655fb40414 Fix mpl::has_key_impl<parameter::aux::arg_list_tag> specialization
<boost/parameter/aux_/arg_list.hpp>
* Use parameter::value_type vice mpl::find.

"test/compose.cpp"
* Test that mpl::has_key evaluates to mpl::false_ for keyword tags that are not in parameter::aux::arg_list.

"test/singular.cpp"
* Test that mpl::has_key evaluates to mpl::false_ for keyword tags that are not in parameter::aux::tagged_argument or parameter::aux::tagged_argument_rref.
2018-11-29 14:20:36 -05:00
Cromwell D. Enage
a083d58c31 Merge with boostorg/parameter 2018-11-28 23:10:47 -05:00
Edward Diener
6a749bcfb1 Change to distinguish parameter_python_test further between 32 and 64 bit Windows builds. 2018-11-23 00:00:07 -05:00
Cromwell D. Enage
35cf0d50cd Merge with boostorg/parameter 2018-11-21 23:31:24 -05:00
Edward Diener
a65875a7c9 Merge pull request #36 from CromwellEnage/template_keyword_and_docs
Upgrade boost::parameter::template_keyword and move to public interface; improve documentation
2018-11-21 22:31:39 -05:00
CromwellEnage
4f776ec9cb Move boost::parameter::template_keyword to public interface
Also move BOOST_PARAMETER_TEMPLATE_KEYWORD macro definition to <boost/parameter/template_keyword.hpp>, but #include this new header file in <boost/parameter/name.hpp> for backward compatibility.
2018-11-21 11:51:12 -05:00
CromwellEnage
c65bbf50a3 Upgrade BOOST_PARAMETER_TEMPLATE_KEYWORD; improve documentation
<boost/parameter/aux_/template_keyword.hpp>
* Apply a modified version of David Abrahams' patch from <https://svn.boost.org/trac10/ticket/2793> which eliminates the need to wrap function types in boost::function or std::function instantiations.

"test/function_type_tpl_param.cpp"
* Demonstrate that keyword types generated by BOOST_PARAMETER_TEMPLATE_KEYWORD now store function types as-is without wrapping them in boost::function or std::function instantiations.

"doc/reference.rst"
"doc/html/reference.html"
* Add BOOST_PARAMETER_DISABLE_PERFECT_FORWARDING as a configuration macro.
* Mention by what libraries other macros which are not a part of Parameter itself are defined.
* Mention which non-Boost.Parameter macros can be altered to affect the Boost.Parameter configuration.
2018-11-21 05:48:14 -05:00
Cromwell D. Enage
c3c6cf76ca Merge with boostorg/parameter 2018-11-21 01:53:14 -05:00
Edward Diener
b565d53bf8 Do not run python test for clang-linux under Windows. 2018-11-20 20:46:13 -05:00
Edward Diener
f41a26af82 Merge pull request #35 from CromwellEnage/stop_the_ice_ing
Define BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY as 0 by default
2018-11-20 13:07:45 -05:00
CromwellEnage
53fa67da1c Define BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY as 0 by default
User library tests have been reporting numerous failures due to internal compiler errors that occur when perfect forwarding is unsupported.  Setting BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY to zero eliminates these failures.  By doing this in Boost.Parameter, we relieve user code of the burden of doing this in their end.  The trade-off is that our own tests need to define BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY explicitly in order to take advantage of the benefits of not having to wrap boost::ref() or std::ref() around non-const lvalues.  As this was always a C++03 workaround, the change should be worth the trade-off.

On an unrelated note, Travis Cl just deprecated "sudo: false".  See <https://blog.travis-ci.com/2018-10-04-combining-linux-infrastructures>.
2018-11-20 08:51:32 -05:00
Cromwell D. Enage
1b2840bfdb Merge with boostorg/parameter 2018-11-20 08:26:02 -05:00
Edward Diener
9179318680 Merge pull request #34 from CromwellEnage/fix_issues
Fix Issue #31, Issue #32, Issue #33
2018-11-20 08:15:17 -05:00
CromwellEnage
7f046f4782 Fix test/Jamfile.v2
s/<version>/<toolset-gcc:version>
2018-11-20 01:50:06 -05:00
CromwellEnage
aab40aafd0 Fix test/Jamfile.v2
Ensure unique test names across aliases.
2018-11-19 21:43:56 -05:00
CromwellEnage
9b8a995b56 Update test/Jamfile.v2
Mark python_test failures on mingw as expected.
2018-11-19 14:54:26 -05:00
CromwellEnage
0283ec60df Fix test suite
"test/Jamfile.v2"
* Rearrange aliases to enable turning off certain tests when they fail for specific compiler configurations
* Reinstate test-suite statement until an undeprecated version can be found.

".travis.yml"
"appveyor.yml"
* Remove specification of alias names
2018-11-19 08:44:56 -05:00
CromwellEnage
716ccb9d85 Rename aliases
Make clear that certain tests run only on certain compilers.
2018-11-17 13:04:24 -05:00
CromwellEnage
a93c420fc7 Fix Issue #31, Issue #32, Issue #33
* Change test/evaluate_category.cpp and test/preprocessor_eval_category.cpp so that the tests pass for msvc-8.0, msvc-9.0, msvc-10.0, and msvc-11.0.
* Change test/Jamfile.v2 so that the compose_fail test runs only for msvc-11.0.
* Ensure that file permissions for header and source files do not include execute.
2018-11-17 11:33:48 -05:00
Cromwell D. Enage
a4f295906f Merge with boostorg/parameter 2018-11-16 23:29:32 -05:00
Edward Diener
d5cd72d2fd Remove executable permissions. 2018-11-16 21:42:25 -05:00
Cromwell D. Enage
318a460d43 Merge with boostorg/parameter 2018-11-16 20:46:52 -05:00
Edward Diener
c8549fc46d Turn off python test for mingw(-64)/gcc 2018-11-16 14:32:16 -05:00
Cromwell D. Enage
302e80397a Merge with boostorg/parameter 2018-11-16 07:41:59 -05:00
Edward Diener
f831585e63 Updated for msvc and particular tests. 2018-11-16 07:19:21 -05:00