2
0
mirror of https://github.com/boostorg/phoenix.git synced 2026-01-19 16:32:14 +00:00

1208 Commits

Author SHA1 Message Date
cook-1229
c4f2535d54 Makes introduction introductory (#122)
Defines acronym
2024-09-12 12:15:49 +08:00
René Ferdinand Rivera Morell
d5dc15a1f5 Add support for modular build structure. (#121)
* Make the library modular usable.

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

* Add missing import-search for cconfig/predef checks.

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

* Bump B2 require to 5.2

* Update copyright dates.

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

* Update build deps.
2024-08-22 09:51:35 +08:00
djowel
8913607a37 Disabled this for now, due to ODR violations $$$ Fix Me $$$ boost-1.84.0 boost-1.90.0.beta1 boost-1.90.0 boost-1.89.0 boost-1.88.0.beta1 boost-1.88.0 boost-1.87.0.beta1 boost-1.87.0 boost-1.86.0.beta1 boost-1.86.0 boost-1.85.0.beta1 boost-1.85.0 boost-1.84.0.beta1 2023-08-29 14:32:41 +08:00
djowel
665047aac2 avoid ODR by making this const 2023-08-28 08:33:46 +08:00
djowel
faadf7577e Merge branch 'develop' boost-1.82.0.beta1 boost-1.81.0 boost-1.83.0 boost-1.83.0.beta1 boost-1.82.0 boost-1.81.0.beta1 2022-10-10 07:48:22 +08:00
Nikita Kniazev
5d93a2abd9 Suppress -Wdeprecated-copy on Clang 13 (#108)
* Suppress `-Wdeprecated-copy` on Clang 13

Clang 13 now also emits `-Wdeprecated-copy` when a copy assign operator is deleted. Since we need both `actor` to be an aggregate and to disallow assignment -- the only other way is to suppress the warning.

* Fix CI: replace `os: "ubuntu-xx.04"` workers with containers

ubuntu-16.04 is already removed from GHA and ubuntu-18.04 will be soon removed too

* Fix CI: Install only necessary stuff in containers

* Run CI in any branch
2022-09-13 06:35:59 +08:00
Peter Dimov
15500aec21 Add CMakeLists.txt boost-1.78.0.beta1 boost-1.77.0.beta1 boost-1.80.0 boost-1.79.0.beta1 boost-1.79.0 boost-1.77.0 boost-1.78.0 boost-1.80.0.beta1 2021-05-29 05:24:14 +03:00
Peter Dimov
0a72220587 Add CMakeLists.txt 2021-03-18 17:37:55 +02:00
Beojan Stanislaus
8b6a9c26c1 std::tuple support (Resolving #103) (#104)
* Add get_ for std::tuple support

* Account for MSVC not defining __cplusplus properly

* Fix test definition

* Skip tuple test if C++11 not available

* Make C++11 compatible

* Bump minimum standard for tuple support to C++ 14

Return type deduction is necessary because this can depend on parameters to
get.

* Remove debug type that made compile fail

* Also remove the use of that debug type

* Rename tuple.cpp to tuple_test.cpp

* Use direct initialization in tuple_test.cpp

* Bump osx_image for Travis

* Make tuple.hpp comply with standard style
2021-03-12 05:59:28 +08:00
Joel de Guzman
42567a66cf Merge pull request #105 from Kojoley/patch-1
CI: B2 cannot find 64bit MSVC 9,10,11 compilers
boost-1.76.0.beta1 boost-1.76.0
2021-03-08 19:03:37 +08:00
Joel de Guzman
3eaee992b6 Merge pull request #106 from sdarwin/githubactions
GitHub Actions config
2021-03-05 07:09:34 +08:00
sdarwin
99ea512303 Add GitHub Actions config [ci skip] 2021-03-03 14:56:27 +00:00
Nikita Kniazev
9c3e7380a8 CI: B2 cannot find 64bit MSVC 9,10,11 compilers 2021-02-12 23:51:46 +03:00
Joel de Guzman
25e29a23dd Merge pull request #102 from eldiener/develop
[skip ci] Add "cxxstd" json field
2021-01-21 20:51:57 +08:00
Edward Diener
4a5aadae5d [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. 2021-01-20 23:58:13 -05:00
Joel de Guzman
9ec693584d Merge pull request #101 from sdarwin/drone
Drone config
2021-01-08 09:23:00 +08:00
sdarwin
8648bf9ccc add drone config [ci skip] 2021-01-07 18:15:44 +00:00
Joel de Guzman
f9233b6417 Merge pull request #99 from giomasce-throwaway/develop
Fix typo in copyright headers.
boost-1.75.0.beta1 boost-1.75.0
2020-10-17 08:22:52 +08:00
Giovanni Mascellani
175887b424 Fix typo in copyright headers. 2020-10-09 15:41:33 +02:00
Joel de Guzman
ba414c01c8 Merge pull request #98 from Kojoley/actor-remove-copy-assignment-operator
actor: Remove copy assignment operator
boost-1.74.0.beta1 boost-1.74.0
2020-06-15 06:57:18 +08:00
Nikita Kniazev
bf8625db62 actor: Remove copy assignment operator
In #64 when I made actor utilize Proto generated assignment operators, I missed
that Phoenix copy assignment operator was not producing a lazy expression,
instead it simply copied the state over. I do not know why that was done in the
first place, the previous behavior is not logical to me, and the current one is
more justified, however after thinking thoroughly there is not a lot of use
cases for it, the only I had come with is:

```cpp
#include <boost/phoenix.hpp>
#include <iostream>

int main()
{
  using namespace boost::phoenix;

  int i = 0, j = 123;
  auto ri = ref(i);
  (ri = ref(j))();
  std::cout << "i=" << i << ", j=" << j << "\n";
}
```

Since the behavior was broken 6 releases (2.5 years) ago, what is enough time
to some one to spot the change and report a regression, but we have not received
any, and the new behavior has a little value, I think it is better to simply
remove the copy assignment operator, because it will allow us to solve naturally
the issue with the `-Wdeprecated-copy` warning (otherwise we need either to
define copy constructor and it will break code that relies on `actor` being an
aggregate, or suppress the warning what currently impossible on GCC).
2020-06-08 15:10:36 +03:00
Joel de Guzman
7e6e0e4330 Merge pull request #94 from mgaunard/try_catch_ref_ub
Fix UB due to dangling references in try/catch
boost-1.73.0
2020-04-08 17:33:17 +08:00
djowel
15524c4ed0 Merge branch 'develop' boost-1.73.0.beta1 2020-03-28 06:58:30 +08:00
Mathias Gaunard
e5b9552d43 add is_actor specialization for try_catch_actor 2020-03-22 16:42:58 +00:00
Mathias Gaunard
6e847888a8 hold subexpressions in try catch generator by value, avoid dangling references and UB 2020-03-22 16:42:38 +00:00
Joel de Guzman
ac1f053ff4 Merge pull request #93 from Kojoley/fix-member-ptr
mem_fun_ptr store ptr actor by value
2020-03-22 06:49:42 +08:00
Nikita Kniazev
8194d7258b mem_fun_ptr store ptr actor by value
Fixes hard to avoid use-after-scope bugs (tests already have them).
Storing ptr actor also strips one level of indirection and is an optimization.
2020-03-21 21:06:12 +03:00
Nikita Kniazev
9fab3c700d CI: Add ccache 2020-03-21 21:06:11 +03:00
Nikita Kniazev
758a8448f5 CI: Add sanitized jobs 2020-03-21 18:46:01 +03:00
Nikita Kniazev
7eed786f74 CI: Add Clang8/9 and GCC9 2020-03-21 18:46:01 +03:00
Nikita Kniazev
6fe4749d39 CI: B2 now by default runs on all available cores 2020-03-21 18:46:01 +03:00
Nikita Kniazev
cf51c02841 CI: Disable clang-3.5 std=14,17 jobs
Clang 3.5 std=14,17 builds are broken now (due to changes in dependencies?):

```
error: debug information for auto is not yet supported
```
2020-03-21 18:45:42 +03:00
Joel de Guzman
bc72af7c5d Merge pull request #87 from Kojoley/remove-broken-visit_each
Remove broken visit_each
2019-12-06 22:11:38 +08:00
Joel de Guzman
e30c90f8b2 Merge pull request #88 from Kojoley/remove-fusion-bug-workaround
Remove obsolete Fusion bug workaround
2019-12-06 06:22:58 +08:00
Nikita Kniazev
6752308ec2 Remove obsolete Fusion bug workaround
Including the header were just hiding a bug in Fusion, since the bug was fixed
(https://github.com/boostorg/fusion/pull/216) the workaround is obsolete.
2019-12-05 20:16:02 +03:00
Nikita Kniazev
e920aa8108 Remove broken visit_each
The test for it is not run by the test suit, it does not compile because of
missing includes somewhere, and fixing compilation is not the end of the story.
The `visit_each` seems to be simply never worked, running the test fails with a
wrong result.

The only potential usage of `visit_each` is the Signals1/2 library, and I did
not find any bug report about that.
2019-12-04 19:44:04 +03:00
Joel de Guzman
e66f838c38 Merge pull request #86 from Kojoley/remove-phx2_result
Remove never used phx2_result
2019-11-29 10:30:52 +08:00
Nikita Kniazev
2fc69365f2 Remove never used phx2_result
Was added in 74722b8e46 with a message that it
is not ready, yet the headers are included with every Phoenix usage, affecting
compilation times. It was supposed to implement backward compatibility with
Phoenix 2 result protocol, what now seems to have little to zero value, since
the break happened about ten years ago.

Deleted tests:
  * `function_tests_phx2` duplicates `function_tests`
  * `bind_function_object_tests_phx2` duplicates `bind_function_object_tests`
  * `lambda_tests_phx2` duplicates `lambda_tests18`+`lambda_tests19`
2019-11-27 21:58:17 +03:00
Joel de Guzman
184c7d5de6 Merge pull request #85 from Kojoley/move-debug-out-of-core
Move debug out of core
2019-11-27 16:34:42 +08:00
Joel de Guzman
e5ff5ede49 Merge pull request #84 from Kojoley/simplify-function_equal
Simplify function equal
2019-11-27 06:48:10 +08:00
Nikita Kniazev
5cbd440a3d Setup core/debug.hpp redirection 2019-11-27 00:51:54 +03:00
Nikita Kniazev
8b4cb05a4d Move debug.hpp out of core 2019-11-27 00:51:52 +03:00
Nikita Kniazev
a069c901a8 CI fixes 2019-11-26 15:56:36 +03:00
Nikita Kniazev
7314b528dc Simplify function_equal
Both C++03 and C++11 routines.
2019-11-26 15:56:03 +03:00
Kohei Takahashi
b74139bd06 Merge pull request #72 from Kojoley/patch-1
Added tests from `bll_compatibility` folder
2019-03-14 20:05:10 +09:00
Kohei Takahashi
99fba04b40 Merge pull request #80 from boostorg/develop
Reflect CI updates into master
boost-1.72.0 boost-1.72.0.beta1 boost-1.71.0.beta1 boost-1.71.0 boost-1.70.0.beta1 boost-1.70.0
2019-01-25 19:38:40 +09:00
Nikita Kniazev
a76e8e13c8 TST: Leave only converted bll_compatibility tests
The tests were borrowed from Lambda and only few are converted to test Phoenix.
2019-01-17 03:36:30 +03:00
Kohei Takahashi
41226c47c0 Merge pull request #79 from boostorg/ci/update
Update CI scripts
2019-01-17 08:51:49 +09:00
Kohei Takahashi
6dafa79bc9 [ci skip] More increased git workers 2019-01-17 08:33:16 +09:00
Kohei Takahashi
b784c20f7f CI: Added new dependency 2019-01-16 23:36:14 +09:00