196 Commits

Author SHA1 Message Date
Andrey Semashev
a526242486 Check whether Boost.Graph supports the current compiler.
Recent change to Boost.Math, on which Boost.Graph depends, made it
incompatible with MSVC 14.0. Rather than check for a specific compiler
version, add a configure-time check whether Boost.Graph compiles (or
at least the part that is used in Boost.Parameter tests). Disable the
tests that depend on Boost.Graph if that check fails.

Refs https://github.com/boostorg/math/issues/1275.
2025-06-17 00:49:48 +03:00
Andrey Semashev
c86e3e4dec Removed unneeded dependency on Boost.Graph.
The literate/default-expression-evaluation0 test did not actually need
anything from Boost.Graph, so remove the dependency.
2025-06-17 00:49:48 +03:00
René Ferdinand Rivera Morell
c142f7bdc2 Add support for modular build structure. (#114)
* Make the library modular usable.

* Switch to library requirements instead of source. As source puts extra source in install targets.

* Add requires-b2 check to top-level build file.

* Bump B2 require to 5.2

* Change all <source> references to <library>.

* Update copyright dates.

* Move inter-lib dependencies to a project variable and into the build targets.

* Update build deps.
2024-08-19 00:55:03 +03:00
Rene Rivera
c540c03077 This removes the superflous test project ID that will conflict with the modular project IDs for all libraries. 2024-03-01 21:04:42 -06:00
Andrey Semashev
6538609cf5 Trim trailing spaces. 2023-06-05 16:06:33 +03:00
Andrey Semashev
02e1c566f7 Copy boost::timer to tests since the original is deprecated and giving errors.
We're not using Boost.Timer v2 components to avoid linking tests with its
separately compiled binary. The legacy boost::timer is fine for the test
purposes.
2023-06-05 16:03:18 +03:00
Andrey Semashev
9780d8338f Removed Python tests.
All Python-related functionality, including tests, were moved to a separate
parameter_python submodule.
2021-12-08 18:27:27 +03:00
Peter Dimov
94bfc0544a Update tests/CMakeLists.txt 2021-06-07 03:33:22 +03:00
Peter Dimov
91b5d79782 Update test/CMakeLists.txt 2021-05-30 08:10:46 +03:00
Andrey Semashev
e38b1160ae Disabled python tests on Cygwin and Cygwin64 on AppVeyor CI.
Python headers are not installed in Cygwin and Cygwin64, so the compiler
picks up Win32 headers in C:\Python27\Include and fails.
2021-03-17 12:12:39 +03:00
Andrey Semashev
6f4cdc939d Fixed Boost.Bind deprecated warnings in tests. 2021-03-17 11:55:40 +03:00
Andrey Semashev
63104db02c Added a missing include in test. 2021-03-17 11:55:40 +03:00
Edward Diener
fb1a25471c Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 14:17:56 -04:00
Glen Fernandes
0f548424a5 BOOST_PARAMETER_ prefix include guard macros 2019-12-18 08:45:43 -05:00
Cromwell D. Enage
75e9295748 Merge pull request #76 from Mike-Devel/min_cmake
Add minimal cmake support
2019-04-30 08:54:02 -04:00
CromwellEnage
0bb3ba54da Fix compiler errors for MSVC-14.2 2019-04-29 18:07:43 -04:00
Mike Dev
3ced1d1ac8 [CMake] Remove unnecessary dependency for test 2019-04-15 17:12:12 +02:00
Mike Dev
7812625cdd [CMake] Allow running of (some) unit tests from cmake 2019-04-15 11:51:06 +02:00
CromwellEnage
e0b16eb3e9 Improve support for parameter-dependent return types of functions generated by preprocessor macros
The code generation macros are supposed to support parameter-dependent return types, but it turns out that they currently don't really do that.  This commit fixes the issue.
2019-02-02 09:31:15 -05:00
CromwellEnage
7b2d3f6e41 Reinstate MP11 support for ArgumentPacks
Argument packs qualify as Boost.MP11-style maps as well as MPL sequences.  These maps store the keyword tag types as their keys.
2019-01-21 01:14:59 -05:00
CromwellEnage
6bce8119bf Disable MP11 usage for affected tests 2019-01-19 17:42:41 -05:00
CromwellEnage
fe73177b6c Modify MP11 support
These are breaking changes to PR #66.

* Remove are_tagged_arguments_mp11 and is_argument_pack_mp11.  They were reviewed as redundant.
* Remove MP11 support for ArgumentPack models for now.  (This feature relied on templates that were not supposed to be specialized.)
2019-01-19 15:15:20 -05:00
CromwellEnage
fb5683766b Remove dependency on Boost.TTI
Replace BOOST_TTI_DETAIL_NULLPTR with BOOST_PARAMETER_AUX_PP_NULLPTR.
2019-01-17 15:14:48 -05:00
CromwellEnage
69db508992 Support Boost.MP11 when feasible
* Add are_tagged_arguments_mp11 and is_argument_pack_mp11 metafunctions when Boost.MP11 is usable.
* Predicate requirements can be encoded as Boost.MP11-style quoted metafunctions as well as by MPL binary metafunction classes.
* Argument packs qualify as Boost.MP11-style lists as well as MPL sequences.
* Internal components and test programs use Boost.MP11 and C++11 type traits vice MPL and Boost.TypeTraits when Boost.MP11 is usable.
2019-01-16 12:03:44 -05:00
CromwellEnage
a2f68bea6c Update test suite
* Add "test/literate/parameter-enabled-function-call-operators0.cpp" to test suite under alias 'parameter_literate_tests'.
* Add compose() test routine to "test/compose.cpp"
* Replace LIBS_PARAMETER_TEST_COMPILE_FAILURE_MSVC with LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC in case compilers other than MSVC start exhibiting errant behavior.
* Adjust for the fact that BOOST_PARAMETER_MAX_ARITY is defined regardless of whether or not BOOST_PARAMETER_HAS_PERFECT_FORWARDING is defined.
* Use minimal file headers to #include vice <boost/parameter.hpp>.
2019-01-16 03:21:13 -05:00
Edward Diener
515c80fad5 Merge pull request #62 from CromwellEnage/test_deduced_unmatched_arg
Update deduced_unmatched_arg.cpp
2019-01-15 23:09:51 -05:00
Edward Diener
b531b64f7b Merge pull request #61 from CromwellEnage/feature_compose_max_arity
Add configuration macro BOOST_PARAMETER_COMPOSE_MAX_ARITY
2019-01-15 23:08:22 -05:00
Edward Diener
1fde7ae869 Merge pull request #60 from CromwellEnage/test_fix
Fix typos
2019-01-15 23:07:46 -05:00
Edward Diener
cb267e5125 Merge pull request #58 from CromwellEnage/test_preprocessor_guards
Update BOOST_PARAMETER_*_ARITY preprocessor guard statements
2019-01-15 23:07:17 -05:00
CromwellEnage
c465139bc2 Update deduced_unmatched_arg.cpp
* Normalize license wording.
* Add statements to #include header files that directly define components used in this test.
* Qualify by namespace vice using declarations.
2019-01-14 22:51:12 -05:00
CromwellEnage
e5337e2503 Add configuration macro BOOST_PARAMETER_COMPOSE_MAX_ARITY
Decouple the compose() function and the BOOST_PARAMETER_NO_SPEC_* code generation macros from BOOST_PARAMETER_MAX_ARITY for older compilers so their generated functions can take in more arguments.
2019-01-14 17:05:14 -05:00
CromwellEnage
f2083c84ec Fix typos 2019-01-14 16:55:16 -05:00
CromwellEnage
261819d9bb Update evaluate_category_16.cpp
* Update BOOST_PARAMETER_*_ARITY preprocessor guard statements.
* Use minimal header files to #include.
* Use namespace qualification
2019-01-14 14:46:20 -05:00
CromwellEnage
6451c94720 Update BOOST_PARAMETER_*_ARITY preprocessor guard statements 2019-01-14 14:43:08 -05:00
Edward Diener
cadc4ecbff Merge pull request #55 from CromwellEnage/test_efficiency
Use minimal header file to #include
2019-01-14 12:53:36 -05:00
Edward Diener
7c9e79aa6e Merge pull request #54 from CromwellEnage/test_singular
Move #include statement to correct place
2019-01-14 12:50:53 -05:00
Edward Diener
b20458faa0 Merge pull request #53 from CromwellEnage/test_max_arity_preproc_guards
Update BOOST_PARAMETER_*_ARITY preprocessor guard statements
2019-01-14 12:49:33 -05:00
Edward Diener
f28b14e686 Merge pull request #52 from CromwellEnage/feature_compose_and_macros
Add are_tagged_arguments<>, compose(), and code generation macros
2019-01-14 12:47:54 -05:00
Edward Diener
5c3dc99d82 Merge pull request #50 from CromwellEnage/workaround_gcc3_or_less
Add workarounds for GCC 3.x or earlier
2019-01-14 12:46:44 -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
CromwellEnage
d5165a3388 Move #include statement to correct place 2019-01-13 22:58:46 -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
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
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
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