q66
493f31fabf
make coroutines immovable (moving invalidates inside pointers)
...
If you move a coroutine, all references to the coroutine from
inside of it become invalid, including e.g. yielders. Therefore,
make coroutines immovable to prevent weird bugs...
but also, make the guts of coroutine context a bit more move
friendly (like, do not change current status after context switch
and always do it outside), in case a solution is found in the
future.
2018-04-21 22:39:07 +02:00
q66
a85cf13c56
add status/symlink_status/file_size/hard_link_count
2018-04-20 01:22:28 +02:00
q66
af87ee2a8b
guard the feature macros
2018-04-19 02:16:35 +02:00
q66
d8e2fe4f31
feature macros for utimensat availability
2018-04-19 02:10:53 +02:00
q66
90f9285b16
path conversion operators, simplify usage
2018-04-18 18:40:45 +02:00
q66
049ce44d3a
replace path aborts with exceptions
2018-04-18 10:58:02 +02:00
q66
9aa03b8a9f
remove c++ std::filesystem stuff
2018-04-18 03:57:22 +02:00
q66
307675731c
add fs APIs for creating/removing/renaming, mtime and globs
2018-04-18 03:40:03 +02:00
q66
64a529254c
add checking file types to directory entry
2018-04-17 23:13:46 +02:00
q66
4c0c4e8f41
directory entries are for one-time read only, remove assign/clear
2018-04-17 03:05:00 +02:00
q66
83dc828a89
re-add directory_entry
2018-04-17 03:02:51 +02:00
q66
77b267a34b
file_status -> file_mode, directory_entry -> file_info
2018-04-17 02:54:05 +02:00
q66
d011daad3b
implement path cwd/home/temp/absolute/relative/canonical/existence/equivalence
2018-04-17 02:26:45 +02:00
q66
755e0f3934
update listdir example to use path
2018-04-16 03:20:40 +02:00
q66
0d0655b09e
add APIs for checking file types and permissions
2018-04-16 03:10:15 +02:00
q66
f395562734
memory-safe dir ranges
2018-04-16 01:59:10 +02:00
q66
1a13f71390
saner recursive dir iteration ordering
2018-04-16 01:10:03 +02:00
q66
ad635c8a23
add recursive directory range
2018-04-16 00:19:48 +02:00
q66
4ef512effa
add a range to iterate a directory
2018-04-15 23:23:43 +02:00
q66
b0e8b3fbd0
do not use the GNU-extension execvpe
2018-04-11 02:23:17 +02:00
q66
3f939f2e1a
avoid silly gcc warning
2018-01-17 22:58:34 +01:00
q66
827aed2bb9
minor fixes
2018-01-15 21:05:58 +01:00
q66
69d5d11da1
POD => trivial, also clarify tstrlen
2018-01-13 22:34:14 +01:00
q66
dab034d9e0
export dem symbols
2018-01-11 23:38:03 +01:00
q66
a93ae710d0
universal internal strlen for all char types
2018-01-11 23:27:45 +01:00
q66
375c014f7a
vtable translation unit for thread pool + warns
2018-01-10 02:57:29 +01:00
q66
cbc75ce97c
fix 4-byte utf-8 encode
2018-01-08 00:27:55 +01:00
q66
4a2e5cd557
completely unify encode funcs
2018-01-07 18:44:12 +01:00
q66
24d1b5ec25
various traits and constants for unicode types
2018-01-07 17:13:53 +01:00
q66
640a9714f0
universal templated encode, iter for all types
2018-01-07 02:17:05 +01:00
q66
4343bb408d
implement compare/case_compare for all slice types
2018-01-07 01:15:17 +01:00
q66
e3362e6c9e
allow encoding of noncharacters
2018-01-06 01:03:43 +01:00
q66
fa5ae71202
perform validity check when decoding utf-32 into itself
2018-01-06 00:52:50 +01:00
q66
ed82fa0233
unified length handling for all encodings
2018-01-06 00:42:14 +01:00
q66
aeb5023b30
relax the rules of zero-argument utf::length
2018-01-06 00:27:04 +01:00
q66
51d7a62bee
eliminate -Wweak-vtables warnings
2018-01-05 22:48:38 +01:00
q66
200919d96f
add funcs to deal with decoding/encoding of wchar_t values/sequences
2018-01-05 19:26:30 +01:00
q66
be25d42660
refactor unicode impl
2018-01-05 18:55:34 +01:00
q66
d74736d8f4
add utf-16 decoding/encoding support
2018-01-05 02:18:36 +01:00
q66
723c06c612
various warning fixes with -Weverything
2018-01-03 17:13:38 +01:00
q66
fd4b26046c
noexcept the ctype funcs
2018-01-03 02:12:23 +01:00
q66
ad149ff0f6
unicode-aware case-insensitive string compares
2018-01-03 01:22:07 +01:00
q66
2949b2de0c
add fallbacks for when string_utf.hh doesn't exist yet
2018-01-03 00:37:31 +01:00
q66
af635dc77a
unicode fixes/cleanups
2018-01-02 23:28:37 +01:00
q66
a0337c401e
implement all the unicode ctype funcs, generate the tables
2018-01-02 22:23:18 +01:00
q66
8e6852572c
reject surrogate code points in decoding
2018-01-01 02:36:39 +01:00
q66
0857edfef4
add a function to encode utf-32 to utf-8
2018-01-01 01:02:49 +01:00
q66
c4f67b08b9
rename codepoint to decode
2017-12-31 20:06:36 +01:00
q66
b350eced7e
move utf::length wrappper to header
2017-12-31 19:18:08 +01:00
q66
d3cdbe2fcf
expose unicode stuff through string slices
2017-12-31 19:12:51 +01:00