Commit Graph

240 Commits (e0072773e1caf11708d6651d785e1347462045f4)

Author SHA1 Message Date
Daniel Kolesa 8afffc1fb7 refactoring, style updates, various fixes 2016-07-31 20:40:25 +01:00
Daniel Kolesa 88241f5f9e remove namespace 2016-07-08 19:48:11 +01:00
Daniel Kolesa 115da8be30 use lstat for consistent behavior 2016-07-07 19:46:53 +01:00
Daniel Kolesa 8b7fc0f791 don't alloc path twice 2016-07-07 17:06:57 +01:00
Daniel Kolesa b02966fb9d environment api for windows, and rename environ namespace to envvar because windows is retarded 2016-07-06 20:40:43 +02:00
Daniel Kolesa dd35b0bf05 fix incorrect FindFirstFile logic on Windows 2016-07-06 19:51:39 +02:00
Daniel Kolesa 85d98780ce windows build warning/error fixes 2016-07-06 19:31:21 +02:00
Daniel Kolesa 0a1b578fcd ignore some template specializations for systems with no big char builtins 2016-07-06 19:10:17 +02:00
Daniel Kolesa 0c8c16a44a windows fixes + stdin/stdout/stderr might be defined as macros 2016-07-06 17:05:32 +01:00
Daniel Kolesa f5a7c19acc fix invalid cast 2016-07-05 18:27:27 +01:00
Daniel Kolesa b7a2322990 add nothrow constructible/assignable/destructible type traits (for when user code uses exceptions) 2016-07-03 01:39:13 +01:00
Daniel Kolesa 47ed1a700c don't use classic style casts 2016-07-02 04:57:23 +01:00
Daniel Kolesa 85b7602654 fix directory stream on Linux as glibc's dirent.h doesn't put . and .. entries to the start 2016-06-28 19:52:37 +01:00
Daniel Kolesa 676f76acee string element append fix and OS X support note 2016-06-27 19:18:31 +01:00
Daniel Kolesa 7912c24e3a const syntax refactoring 2016-06-23 19:18:35 +01:00
Daniel Kolesa 430ca81bfd pass compare func by reference in sort impl (don't copy it around) 2016-05-29 02:41:58 +01:00
Daniel Kolesa 46d8844a49 return fix 2016-05-24 01:30:11 +01:00
Daniel Kolesa 5189bab1af simplify string operator+= for T 2016-05-22 15:31:11 +01:00
Daniel Kolesa d9bd0f8380 restrict string operator+ (conflicts with range offset) 2016-05-21 15:36:14 +01:00
Daniel Kolesa 65954f614c decay map/filter callbacks before storing them 2016-05-09 00:07:25 +01:00
Daniel Kolesa a5c4b9d3ca global concat op for strings 2016-05-07 17:25:40 +01:00
Daniel Kolesa 7561d40b14 missed inline 2016-05-04 00:50:52 +01:00
Daniel Kolesa 75e27a14b0 overload rvalue refs to const for tuple 2016-05-02 18:21:54 +01:00
Daniel Kolesa 34cb1f1fbd forward the tuple to ensure correct get semantics 2016-05-01 00:53:48 +01:00
Daniel Kolesa f46ffa53fd forwarding join/zip 2016-05-01 00:34:00 +01:00
Daniel Kolesa b16e72fa16 convert nearly all algos (except variadic ones) to use perfect forwarding 2016-04-30 19:21:50 +01:00
Daniel Kolesa ca0dfcd8a4 fix return type 2016-04-30 18:27:53 +01:00
Daniel Kolesa 0f5ed68124 actually need to move things into the lambda or they die 2016-04-30 18:24:17 +01:00
Daniel Kolesa 5dfc54dad9 simplify map/filter 2016-04-30 17:58:37 +01:00
Daniel Kolesa e33797e571 pipeable foldl/foldr func variant 2016-04-29 17:47:04 +01:00
Daniel Kolesa fcd0616f4d fix naming 2016-04-29 17:45:06 +01:00
Daniel Kolesa 551dc8bc15 return range from sort and make it pipeable 2016-04-29 17:34:46 +01:00
Daniel Kolesa 62fdbc74ad add missing pipeable algorithms and suffix funcs that use comparators 2016-04-29 17:30:32 +01:00
Daniel Kolesa ab22ba910a remove mutable where unnecessary + capture join/zip by ref instead of copy 2016-04-27 18:42:51 +01:00
Daniel Kolesa 878476a397 use int for sdl1 mode and report size 2016-04-27 01:18:04 +01:00
Daniel Kolesa c5a9d535f5 fixes 2016-04-27 01:11:03 +01:00
Daniel Kolesa e51fe5a348 add an extensions directory and first extension, sdl rwops stream integration 2016-04-27 01:08:59 +01:00
Daniel Kolesa 288526e7db capture by references more (the objects live long enough to be safe) 2016-04-27 00:29:55 +01:00
Daniel Kolesa e7dd08d884 piping for nearly all algorithms 2016-04-26 22:25:46 +01:00
Daniel Kolesa 5604df9625 make core range funcs methods on InputRange + initial support for piping 2016-04-26 22:05:07 +01:00
Daniel Kolesa 2d399a2ed3 fix RangeValue for ZipRange 2016-03-30 20:41:59 +01:00
Daniel Kolesa 6c840ad830 implement zip and tuple ToString 2016-03-27 23:49:57 +01:00
Daniel Kolesa f651940570 add initial implementation of range joiner (join any type-compatible ranges into one) 2016-03-27 21:06:00 +01:00
Daniel Kolesa 59551e0aee fix the StreamMode enum 2016-03-26 17:26:37 +00:00
Daniel Kolesa ce42683c99 default to read mode in filestreams 2016-03-26 15:19:00 +00:00
Daniel Kolesa 54789177e2 no need for a typedef 2016-03-24 21:52:16 +00:00
Daniel Kolesa 60a04937c6 string range optimizations 2016-03-23 22:32:30 +00:00
Daniel Kolesa a31ddba522 range fixes 2016-03-23 22:27:46 +00:00
Daniel Kolesa 9de9d99d4d fixes 2016-03-22 01:13:43 +00:00
Daniel Kolesa 5b4ea576b7 change to RemoveConst 2016-03-21 21:25:23 +00:00
Daniel Kolesa e48642659d generalize temp cstrings for any range type 2016-03-21 21:21:41 +00:00
Daniel Kolesa 4854242918 typo fix 2016-03-20 20:23:26 +00:00
Daniel Kolesa 6c4fd3d8ae this doesn't actually happen 2016-03-19 20:23:46 +00:00
Daniel Kolesa a63cf1edb1 add experimental api to turn unterminated string ranges to terminated c strings 2016-03-19 19:52:46 +00:00
Daniel Kolesa 40746de1c3 add environment funcs (environ.hh) and update test runner code (less verbose/cleaner) 2016-03-13 01:28:39 +00:00
Daniel Kolesa b66c684add add trailing newlines 2016-02-07 21:19:20 +00:00
Daniel Kolesa dfc867bd48 remove unused file 2016-02-05 21:29:27 +00:00
Daniel Kolesa 3495d6ea2f remove platform.hh include 2016-01-28 18:36:48 +00:00
Daniel Kolesa 0580638905 move windows.h include into its own header (to define LEAN_AND_MEAN and NOMINMAX in all places) 2016-01-27 19:35:11 +00:00
Daniel Kolesa 62d7836f32 header fixes 2016-01-26 19:01:27 +00:00
Daniel Kolesa e5dc50b0dd support hardware_concurrency static method like c++ std::thread (also replaces cpu_count_get) 2016-01-26 18:58:16 +00:00
Daniel Kolesa 5192ea4977 small cleanup 2016-01-24 16:59:44 +00:00
Daniel Kolesa 4b9faefa5c convert locking/cond code to pthreads to get rid of awful c11 api 2016-01-24 15:33:15 +00:00
Daniel Kolesa 86170b75c4 convert thread.hh to phreads (c11 threads api is awful) 2016-01-24 15:22:51 +00:00
Daniel Kolesa 4eb03ad017 lock fixes 2016-01-23 22:38:30 +00:00
Daniel Kolesa 98eeb765fd initial implementation of locking primitives and conditions 2016-01-23 22:16:10 +00:00
Daniel Kolesa bf647c100e re-add iter for arrays of const 2016-01-23 17:38:41 +00:00
Daniel Kolesa 46fb6ced30 support for extra args for thread constructor 2016-01-23 17:26:42 +00:00
Daniel Kolesa b84eb137da initial portable ostd::Thread interface (on top of C11 threads) 2016-01-23 16:54:27 +00:00
Daniel Kolesa d1feaafb5e change style for constants 2016-01-22 18:12:39 +00:00
Daniel Kolesa eaaddb0d0b redefine some stuff without macros 2016-01-22 18:10:13 +00:00
Daniel Kolesa 305d3e54f6 cleanups 2016-01-21 17:58:51 +00:00
Daniel Kolesa 5902299a1d convert the remaining usage of Constant and all the remaining public traits 2016-01-20 19:05:11 +00:00
Daniel Kolesa 8a1671f6ea convert most of the rest to template vars 2016-01-20 18:42:29 +00:00
Daniel Kolesa 7802efa1a1 use constexpr bool for IsTupleLike 2016-01-20 18:09:44 +00:00
Daniel Kolesa 2c4d6fee09 convert TupleSize to template var 2016-01-19 19:14:02 +00:00
Daniel Kolesa 29bf432800 remove bad file 2016-01-18 18:05:04 +00:00
Daniel Kolesa bc0c3f7577 convert some stuff to variable templates 2016-01-16 18:45:55 +00:00
Daniel Kolesa 460cded195 add BoolConstant 2016-01-16 18:33:52 +00:00
Daniel Kolesa 9e4d475488 rename IntegralConstant to Constant 2016-01-16 18:31:58 +00:00
Daniel Kolesa 31a46ef07d more trait cleanups 2016-01-14 21:16:42 +00:00
Daniel Kolesa 37059e505b remove some unnecessary code 2016-01-14 19:32:22 +00:00
Daniel Kolesa f578bd71f6 simplify range traits tests 2016-01-14 19:15:50 +00:00
Daniel Kolesa 8152173c39 convert more traits 2016-01-14 19:11:52 +00:00
Daniel Kolesa abde607016 remove most IntegralConstant usages from type_traits 2016-01-14 19:03:22 +00:00
Daniel Kolesa 7d52a75348 convert some traits to cleaner syntax 2016-01-14 18:49:38 +00:00
Daniel Kolesa 1c5ba28f35 replace some traits with c++14 style nice definitions 2016-01-13 20:46:16 +00:00
Daniel Kolesa 41174195bb drop static in constexpr template vars 2016-01-13 20:40:59 +00:00
Daniel Kolesa 818cbe376a convert the remaining type_traits.hh checking traits to constexpr bools 2016-01-13 18:09:21 +00:00
Daniel Kolesa a6744105dc convert range checks to template vars 2016-01-13 17:42:37 +00:00
Daniel Kolesa 9b11c1d319 convert IsSame to template variable 2016-01-12 22:24:40 +00:00
Daniel Kolesa 7edf3e1d4a more template var conversions 2016-01-12 22:09:40 +00:00
Daniel Kolesa 697b135157 remove unneeded forward decl 2016-01-12 21:56:17 +00:00
Daniel Kolesa d53556d336 convert a part of type traits to template variables (reduces verbosity in a lot of places) 2016-01-12 21:45:26 +00:00
Daniel Kolesa 02e7ae76a2 add ostd::starts_with to string library 2015-12-31 16:36:41 +01:00
Daniel Kolesa 31d3182a4a fix shadow warnings 2015-12-30 15:13:07 +01:00
Daniel Kolesa b3a12884be forgot endif 2015-09-30 19:18:09 +01:00
Daniel Kolesa 561b6d01fa symbol visibility support in platform.hh 2015-09-30 18:49:30 +01:00
Daniel Kolesa c9c4ca4f77 add ostd::cpu_count_get in platform.hh 2015-09-25 19:42:34 +01:00
Daniel Kolesa 0c09c709b5 add argparse.hh initial skeleton 2015-09-22 20:23:59 +01:00