Daniel Kolesa
3906e5f1ee
build: add meson as the new buildsystem for libostd
2018-10-27 23:49:49 +02:00
Daniel Kolesa
08e8dc3f19
pass real target to dependency callbacks
2018-05-02 21:00:37 +02:00
Daniel Kolesa
3673438e8c
build: dynamic dependencies using dependency callbacks
2018-05-02 20:32:47 +02:00
Daniel Kolesa
6845f5a8d8
add a way to conditionally use rules according to predicate
2018-05-01 20:46:21 +02:00
Daniel Kolesa
0915a9e6b5
prepare for more elaborate build rule matching
2018-04-30 19:51:02 +02:00
Daniel Kolesa
c61dcb9597
simplify rule matching
2018-04-29 20:27:32 +02:00
Daniel Kolesa
3506facc61
move make impl bits into a source file
2018-04-24 01:24:48 +02:00
Daniel Kolesa
621bad7474
forgot to add file
2018-04-23 21:24:46 +02:00
Daniel Kolesa
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
Daniel Kolesa
a85cf13c56
add status/symlink_status/file_size/hard_link_count
2018-04-20 01:22:28 +02:00
Daniel Kolesa
af87ee2a8b
guard the feature macros
2018-04-19 02:16:35 +02:00
Daniel Kolesa
d8e2fe4f31
feature macros for utimensat availability
2018-04-19 02:10:53 +02:00
Daniel Kolesa
90f9285b16
path conversion operators, simplify usage
2018-04-18 18:40:45 +02:00
Daniel Kolesa
049ce44d3a
replace path aborts with exceptions
2018-04-18 10:58:02 +02:00
Daniel Kolesa
9aa03b8a9f
remove c++ std::filesystem stuff
2018-04-18 03:57:22 +02:00
Daniel Kolesa
307675731c
add fs APIs for creating/removing/renaming, mtime and globs
2018-04-18 03:40:03 +02:00
Daniel Kolesa
64a529254c
add checking file types to directory entry
2018-04-17 23:13:46 +02:00
Daniel Kolesa
4c0c4e8f41
directory entries are for one-time read only, remove assign/clear
2018-04-17 03:05:00 +02:00
Daniel Kolesa
83dc828a89
re-add directory_entry
2018-04-17 03:02:51 +02:00
Daniel Kolesa
77b267a34b
file_status -> file_mode, directory_entry -> file_info
2018-04-17 02:54:05 +02:00
Daniel Kolesa
d011daad3b
implement path cwd/home/temp/absolute/relative/canonical/existence/equivalence
2018-04-17 02:26:45 +02:00
Daniel Kolesa
755e0f3934
update listdir example to use path
2018-04-16 03:20:40 +02:00
Daniel Kolesa
0d0655b09e
add APIs for checking file types and permissions
2018-04-16 03:10:15 +02:00
Daniel Kolesa
f395562734
memory-safe dir ranges
2018-04-16 01:59:10 +02:00
Daniel Kolesa
1a13f71390
saner recursive dir iteration ordering
2018-04-16 01:10:03 +02:00
Daniel Kolesa
ad635c8a23
add recursive directory range
2018-04-16 00:19:48 +02:00
Daniel Kolesa
4ef512effa
add a range to iterate a directory
2018-04-15 23:23:43 +02:00
Daniel Kolesa
b0e8b3fbd0
do not use the GNU-extension execvpe
2018-04-11 02:23:17 +02:00
Daniel Kolesa
3f939f2e1a
avoid silly gcc warning
2018-01-17 22:58:34 +01:00
Daniel Kolesa
827aed2bb9
minor fixes
2018-01-15 21:05:58 +01:00
Daniel Kolesa
69d5d11da1
POD => trivial, also clarify tstrlen
2018-01-13 22:34:14 +01:00
Daniel Kolesa
dab034d9e0
export dem symbols
2018-01-11 23:38:03 +01:00
Daniel Kolesa
a93ae710d0
universal internal strlen for all char types
2018-01-11 23:27:45 +01:00
Daniel Kolesa
375c014f7a
vtable translation unit for thread pool + warns
2018-01-10 02:57:29 +01:00
Daniel Kolesa
cbc75ce97c
fix 4-byte utf-8 encode
2018-01-08 00:27:55 +01:00
Daniel Kolesa
4a2e5cd557
completely unify encode funcs
2018-01-07 18:44:12 +01:00
Daniel Kolesa
24d1b5ec25
various traits and constants for unicode types
2018-01-07 17:13:53 +01:00
Daniel Kolesa
640a9714f0
universal templated encode, iter for all types
2018-01-07 02:17:05 +01:00
Daniel Kolesa
4343bb408d
implement compare/case_compare for all slice types
2018-01-07 01:15:17 +01:00
Daniel Kolesa
e3362e6c9e
allow encoding of noncharacters
2018-01-06 01:03:43 +01:00
Daniel Kolesa
fa5ae71202
perform validity check when decoding utf-32 into itself
2018-01-06 00:52:50 +01:00
Daniel Kolesa
ed82fa0233
unified length handling for all encodings
2018-01-06 00:42:14 +01:00
Daniel Kolesa
aeb5023b30
relax the rules of zero-argument utf::length
2018-01-06 00:27:04 +01:00
Daniel Kolesa
51d7a62bee
eliminate -Wweak-vtables warnings
2018-01-05 22:48:38 +01:00
Daniel Kolesa
200919d96f
add funcs to deal with decoding/encoding of wchar_t values/sequences
2018-01-05 19:26:30 +01:00
Daniel Kolesa
be25d42660
refactor unicode impl
2018-01-05 18:55:34 +01:00
Daniel Kolesa
d74736d8f4
add utf-16 decoding/encoding support
2018-01-05 02:18:36 +01:00
Daniel Kolesa
723c06c612
various warning fixes with -Weverything
2018-01-03 17:13:38 +01:00
Daniel Kolesa
fd4b26046c
noexcept the ctype funcs
2018-01-03 02:12:23 +01:00
Daniel Kolesa
ad149ff0f6
unicode-aware case-insensitive string compares
2018-01-03 01:22:07 +01:00