q66
|
5fafcdf954
|
move the stack alloc impl bits into a source file
|
2017-03-09 01:00:47 +01:00 |
|
q66
|
fb592f8c2c
|
shove the stack alloc stuff into detail:: (for potential reuse elsewhere)
|
2017-03-09 00:25:51 +01:00 |
|
q66
|
8e97f7fdfd
|
separate stack stuff into its own file, add support for segmented stacks on POSIX+gcc/clang
|
2017-03-08 18:11:39 +01:00 |
|
q66
|
81feac59d1
|
add separate protected and unprotected stack allocators, use unprotected by default
|
2017-03-08 02:16:24 +01:00 |
|
q66
|
48d039aea0
|
initial support for stack allocator objects
|
2017-03-08 02:06:56 +01:00 |
|
q66
|
7d0778cf0a
|
kill coroutine stack from entrypoint instead of destructor
|
2017-03-08 01:43:41 +01:00 |
|
q66
|
1d5c98f830
|
add valgrind support to coroutine code
|
2017-03-08 00:52:31 +01:00 |
|
q66
|
4987fd568d
|
windows typo fix
|
2017-03-07 22:55:05 +01:00 |
|
q66
|
c526f12b81
|
use malloc on systems without MAP_ANON/ANONYMOUS (they're not in POSIX)
|
2017-03-07 22:48:44 +01:00 |
|
q66
|
58206da3b4
|
use mmap to allocate stack on POSIX, VirtualAlloc on Windows
|
2017-03-07 22:39:17 +01:00 |
|
q66
|
661393f9c5
|
some initial stack alloc/free funcs
|
2017-03-07 21:53:16 +01:00 |
|
q66
|
3145ebe0c9
|
move coroutine context stuff to a separate file
|
2017-03-07 21:29:12 +01:00 |
|
q66
|
e97e70b427
|
constructor cleanup, const correctness, swap fixes, explicit bool, comments
|
2017-03-07 17:39:40 +01:00 |
|
q66
|
483ec9df3b
|
only initialize the context with a valid function
|
2017-03-07 02:19:25 +01:00 |
|
q66
|
573c001786
|
put coroutine_context in detail and inherit from it
|
2017-03-07 02:07:13 +01:00 |
|
q66
|
248acbeac5
|
use p_func to check finished status (no separate bool)
|
2017-03-07 01:25:56 +01:00 |
|
q66
|
7ba1f9265b
|
make value-returning no-argument coroutines iterable
|
2017-03-06 19:01:17 +01:00 |
|
q66
|
64d92743e4
|
only pass yield to coroutines, make them movable and swappable, improve examples
|
2017-03-06 18:38:50 +01:00 |
|
q66
|
9a194343f3
|
operator bool on coroutine should be inverse
|
2017-03-06 02:09:52 +01:00 |
|
q66
|
a4e17e22c7
|
fix coroutine + initial proof of concept generator (bad impl)
|
2017-03-06 00:47:15 +01:00 |
|
q66
|
1f946bff50
|
forwarding of coroutine args/results
|
2017-03-05 23:49:20 +01:00 |
|
q66
|
34a434ab53
|
move helpers to coro_base
|
2017-03-05 23:07:00 +01:00 |
|
q66
|
5c209872b5
|
fix narrowing
|
2017-03-05 21:56:41 +01:00 |
|
q66
|
ed514c28a6
|
specialize coroutines for zero args
|
2017-03-05 20:11:39 +01:00 |
|
q66
|
d369bb4b8a
|
use generic arg so we can construct coroutines from lambdas using =
|
2017-03-05 19:50:25 +01:00 |
|
q66
|
1bb2dffc63
|
return the arg directly from yield with single-arg coroutines
|
2017-03-05 19:45:26 +01:00 |
|
q66
|
2a842ef9da
|
reimplement coroutine using the new fcontext assembly
|
2017-03-05 16:48:44 +01:00 |
|
q66
|
8ecaa338bc
|
add initial coroutine module (slow ucontext_t, POSIX only, WiP)
|
2017-03-04 18:25:33 +01:00 |
|
q66
|
d33ca88d0a
|
fix bug with bool writing in format
|
2017-03-04 18:24:18 +01:00 |
|
q66
|
60cc9ee47e
|
rename standard streams to feel less keywordy
|
2017-03-04 15:43:53 +01:00 |
|
q66
|
3c33395fe6
|
stream write/writef cleanup
|
2017-03-02 22:52:09 +01:00 |
|
q66
|
d9a65da5bf
|
simplify write/writeln
|
2017-03-02 20:01:01 +01:00 |
|
q66
|
c93e818247
|
rvalue reference matching ostd::iter
|
2017-03-02 19:50:01 +01:00 |
|
q66
|
22a5640a59
|
revamped stream errors, add get_line on streams and stream line range
|
2017-03-02 18:12:00 +01:00 |
|
q66
|
f13f11f54e
|
format helper func with locale support
|
2017-03-01 19:19:46 +01:00 |
|
q66
|
15d6b0157b
|
remove detail::fmt_stream_range (not necessary anymore)
|
2017-02-28 17:22:29 +01:00 |
|
q66
|
740914d772
|
copy the item too
|
2017-02-27 17:55:05 +01:00 |
|
q66
|
e0574308a0
|
fully generic stream range (works on any type of stream)
|
2017-02-27 17:52:52 +01:00 |
|
q66
|
9f286f88f3
|
do not use digit grouping for pointers
|
2017-02-26 04:23:51 +01:00 |
|
q66
|
2f4f9dd440
|
prevent overflow when grouping is in place
|
2017-02-26 03:28:23 +01:00 |
|
q66
|
7164019e22
|
locale digit grouping support for integer format
|
2017-02-26 03:21:26 +01:00 |
|
q66
|
8be2e1fa56
|
basic locale awareness in streams (including writef/ln integration)
|
2017-02-26 02:06:02 +01:00 |
|
q66
|
db991ca03d
|
locale-aware format_spec
|
2017-02-26 01:04:33 +01:00 |
|
q66
|
98fb0e3e2e
|
fix escaping for default range print
|
2017-02-26 00:32:35 +01:00 |
|
q66
|
ccb0564bfc
|
clean up range writer
|
2017-02-26 00:30:07 +01:00 |
|
q66
|
bd5aa4795c
|
custom formatting is now done with format_traits
Allows definition for any type, even in any foreign namespace.
|
2017-02-25 19:17:08 +01:00 |
|
q66
|
e714e5f3fb
|
add new format flag @, make it escape always (never toggle)
|
2017-02-25 18:56:41 +01:00 |
|
q66
|
e90b0868aa
|
make the dash flag toggle current escaping mode in format
|
2017-02-25 17:33:18 +01:00 |
|
q66
|
262e691a4d
|
fix test runner
|
2017-02-25 14:56:51 +01:00 |
|
q66
|
81ccca0e52
|
ios based formatting of floats (no heap alloc and basic locale awareness)
|
2017-02-25 04:03:36 +01:00 |
|