Commit Graph

391 Commits

Author SHA1 Message Date
Cheney-Wang 391215262b Add vcpkg installation instructions 2022-09-03 08:08:00 +09:30
fghzxm a87e97fe5b generator_promise::{initial,final}_suspend() can be noexcept 2020-10-12 10:43:10 -07:00
Andreas Buhr 8929f9cc40 Small fixes to make gcc happy 2020-10-12 10:42:13 -07:00
Andreas Buhr fdb7a74f63 translate "for co_await" to regular for loops using "co_await"
"for co_await" was in the coroutine-ts but did not make it into
the C++20 standard. This patch translates the "for co_await"
which were used to standard for loops using "co_await".
This is necessary to compile on MSVC 1928 in with c++-latest.
2020-10-12 10:38:08 -07:00
Andreas Buhr a5ed331c94 Fixes for MSVC 1928
First, std::uncought_exception() does not exist any more in
C++20, it is replaced by std::uncought_exceptions(). Second,
Second, in file_test.cpp we have to include <string>
to use std::to_string.
2020-10-12 10:36:45 -07:00
GouravKumar2 7f4ca14417 Update README.md 2020-10-09 09:55:29 -07:00
yaoxinliu 69e575480a avoid the compiler warning of -Wreorder 2020-05-29 17:48:20 -07:00
yaoxinliu 932f08586c fix a bug in ipv4_address::is_private_network() 2020-05-29 17:48:20 -07:00
Gomez 92892f31d0 Make recursive_generator [[nodiscard]] like generator (ditto shared_task) 2020-02-27 18:18:01 -08:00
Lewis Baker f533d1f045 Update travis config to use Ubuntu bionic and clang-11 2020-01-29 14:41:09 -08:00
Billy O'Neal 926b032de2 Avoid std::atomic_init deprecated by P0883. (#140)
Resolves #139
2020-01-28 14:05:38 -08:00
denchat 00b34af58e gcc complains using std::invoke
without <functional>
2020-01-17 07:39:29 -08:00
anlongfei d83ee9352e fix 2019-12-31 10:32:22 -08:00
anlongfei 556651d44d modify 2019-12-31 10:32:22 -08:00
anlongfei 9cc5a32ccb Remove duplication from build.cake 2019-12-31 10:32:22 -08:00
Lewis Baker 77f9037539
Merge pull request #127 from lewissbaker/generator-fix
Fix generator<T> to satisfy the range concept
2019-10-31 21:33:48 -07:00
Lewis Baker 56d3a0bfaa
Fix typo in generator::operator== 2019-10-29 15:31:54 -07:00
Lewis Baker e2cfe2bebd
Fix generator<T> to satisfy the range concept
* Iterator type needed to support equality comparisons both it == sentinel and sentinel == it.
* difference_type needed to be a signed integer (it was an unsigned size_t)
2019-10-29 13:48:25 -07:00
Lewis Baker 1d5a4d9d1e Add #!/bin/sh to init.sh 2019-09-28 08:28:30 -07:00
Lewis Baker c1ea9b412f Disable socket test that causes an ICE under msvc x86. 2019-09-03 21:28:55 -07:00
Lewis Baker 7036b197d8
Merge pull request #117 from Alinshans/patch-1
Fixed syntax highlighting in readme.
2019-09-03 07:17:44 -07:00
Lewis Baker 150220b391
Merge pull request #122 from denchat/patch-7
Suppress warning about unused parameter with `[[maybe_unused]]`.
2019-09-03 07:17:20 -07:00
Lewis Baker a45cac7ad3
Merge pull request #123 from denchat/patch-8
Add missing `#include <exception>` in sync_wait_task.hpp needed for std::exception_ptr.
2019-09-03 07:15:23 -07:00
Lewis Baker 0999379bb9
Merge pull request #124 from denchat/patch-9
iterator_category needs <iterator>
2019-09-03 07:12:56 -07:00
denchat 75ab993a70
iterator_category needs <iterator> 2019-09-02 13:07:24 +07:00
denchat cfc01521aa
m_exception is std::exception_ptr 2019-09-02 12:36:53 +07:00
denchat e7407b3d99
await_suspend never actually uses input producer
suppress warning with [[maybe_unused]]
2019-09-02 01:38:43 +07:00
Junyan Liu 4f2c340b10
Fixed syntax highlighting in readme. 2019-07-30 17:27:05 +08:00
Lewis Baker 7ac4be2c0e
Fix spin_wait::spin_one() on Windows platforms
A conditional was accidentally inverted which meant that the spin-wait
would first start yielding to the OS and then later start spinning with
very large loopCount values, potentially leading to large pauses.

Originally fixed by @loopunit in 242db2b0f6
2019-05-28 11:33:35 -07:00
Lewis Baker 99bb7f80b3
Merge pull request #106 from lewissbaker/disruptor
Fix typos in README.
2019-04-05 17:27:48 -07:00
Lewis Baker 64691d1013
Merge branch 'master' into disruptor 2019-04-05 17:27:11 -07:00
Lewis Baker 9ba66d83b3
Merge pull request #105 from joemalle/master
Annotate async_generator, generator, and task with [[nodiscard]]
2019-04-05 11:37:55 -07:00
Joseph Malle 3c60ea2df0 Annotate async_generator, generator, and task with [[nodiscard]] 2019-04-05 15:15:20 +02:00
Lewis Baker 5294db8814
Merge pull request #103 from lofcek/master
Added links to README.md
2019-03-22 09:01:02 -07:00
Lewis Baker 85dd7ebfb8
Merge branch 'master' into master 2019-03-22 09:00:39 -07:00
Lewis Baker d18e54ad3f
[README] Add cake build example for running tests 2019-03-16 22:02:12 -07:00
lofcek 5cec0cdea4 Fix typos 2019-03-13 15:22:45 +01:00
lofcek ac518a1697 Added links to README.md 2019-03-13 15:01:52 +01:00
Lewis Baker cd98b2778e
Update README with instructions for specifying alternate clang paths.
Fixes #101
2019-03-04 09:40:00 -08:00
Lewis Baker 87605fabb3
Merge pull request #100 from lewissbaker/clang-9
Update travis config to test against clang 9
2019-02-07 21:57:45 -08:00
Lewis Baker b4a86da5ca
Update travis config to test against clang 9 2019-02-07 13:40:58 -08:00
Lewis Baker 688821f4c4 Fix typos in README. 2019-01-22 23:15:33 -08:00
Lewis Baker 17bd85ac36
Merge pull request #92 from lewissbaker/disruptor
Add synchronisation primitives for ring-buffered producer/consumer
2019-01-21 22:27:13 -08:00
Lewis Baker a6ac2ec905 Add basic documentation for ring-buffer synchronisation primitives.
- sequence_barrier
- single_producer_sequencer
- multi_producer_sequencer
2019-01-21 22:24:41 -08:00
Lewis Baker e0d0324d94 Fix typo in README: single_consumer_async_auto_reset_event 2019-01-18 22:31:59 -08:00
Lewis Baker 1f3366ddb6 Make recursive_generator<T> satisfy the Range concept.
Fix recursive_generator<T&&> to have a 'reference' type of T&&.
2019-01-18 22:28:18 -08:00
Lewis Baker 8e9db4c48a Perfectly-forward generator<T>::iterator::reference type to fmap(). 2019-01-18 22:14:12 -08:00
Lewis Baker 83538a69ef Improve generator<T> codegen on Clang.
Use a separate 'generator_sentinel' type for the end() iterator.
This avoids some mutation of the coroutine_handle member of the
iterator and turns the comparison into a call to .done().

Seems to allow better allocation elision of the coroutine frame
in some cases when building under Clang.
2019-01-18 21:40:53 -08:00
Lewis Baker 73f75a3efe
Merge branch 'master' into disruptor 2019-01-15 10:53:09 -08:00
Lewis Baker 59f2e779a2 Allow co_yield of rvalue from generator<T&>
Need to define `yield_value()` overload taking rvalue reference for all types.
2019-01-10 21:13:12 -08:00