q66
667b2d50ea
use size_t for format results
2017-02-11 01:28:14 +01:00
q66
dc640d2c1e
no need for the other format_impl overload
2017-02-11 01:11:22 +01:00
q66
13477db869
add a format() overload to format a single spec without a format string + use
2017-02-11 00:18:41 +01:00
q66
d56a233120
partial cleanup of format module, better error handling
2017-02-10 23:49:00 +01:00
q66
9ab2093ed4
clean up join range pop/front
2017-02-10 21:06:08 +01:00
q66
2e773b3849
clean up join/zip ranges with c++17 fold expressions
2017-02-10 20:26:13 +01:00
q66
d06637eac6
actually use write_bytes directly
2017-02-10 17:48:19 +01:00
q66
922f19b776
make write(x) equivalent to write("%s", x)
2017-02-10 17:44:06 +01:00
q66
e1f5cc477f
extend IteratorRange to handle pointers as special case
2017-02-09 23:38:11 +01:00
q66
052fa58be4
clean up pointer range constructor
2017-02-09 22:55:17 +01:00
q66
946cf9d3fe
use char_traits in string range types
2017-02-09 21:39:35 +01:00
q66
2d5c4cab3f
clean up pointer/string ranges
2017-02-09 21:27:20 +01:00
q66
c5dd6bb8c3
remove obsolete type traits
2017-02-09 20:56:15 +01:00
q66
ea6d3d4bbf
clean up IteratorRange, use unsigned variant of difference for size
2017-02-09 20:13:52 +01:00
q66
463c7275d5
use ranged_traits specialization for static arrays
2017-02-09 20:07:10 +01:00
q66
79809a610b
remove functional.hh
2017-02-08 01:06:50 +01:00
q66
efa103c362
consistent error msg
2017-02-01 22:42:18 +01:00
q66
9e87d372de
allow constructing unordered_maps from any 2-tuple range
2017-02-01 22:38:25 +01:00
q66
407d4a524f
forgot to actually use the new template params
2017-02-01 20:58:54 +01:00
q66
0842a24cd3
complete template param support for all ranged make_ funcs and ranged_traits
2017-02-01 20:56:29 +01:00
q66
84f01c1286
remove memory.hh
2017-02-01 20:19:14 +01:00
q66
3e683a2436
remove silly intermediate ranges for writef, print directly to stream
2017-02-01 19:30:15 +01:00
q66
077835e4b6
range system fixes, add iterator types to RangeHalf, optimize make_vector(R)
2017-02-01 18:29:42 +01:00
q66
e0072773e1
remove custom hashtable; no longer necessary
2017-01-31 19:31:55 +01:00
q66
1f83e8c1b0
cleaner range passing in second version of make_CONTAINER
2017-01-31 19:17:46 +01:00
q66
fbdaf77b62
std::unordered_map initial range support (no extra template args yet)
2017-01-31 19:11:38 +01:00
q66
6ec72a6ecd
add IteratorRange to make a range out of any two iterators
2017-01-30 22:07:12 +01:00
q66
62b0c2ecf7
hash operator() needs to be const
2017-01-30 19:31:24 +01:00
q66
1abf3bb3ad
remove Maybe (use optional instead)
2017-01-30 19:27:25 +01:00
q66
0ee0d3231c
use standard types
2017-01-30 19:23:12 +01:00
q66
2884f4b47b
use size_t and ptrdiff_t
2017-01-30 19:11:49 +01:00
q66
1db7529ad9
remove custom hashing
2017-01-30 18:56:38 +01:00
q66
343c684820
initial proper string integration
2017-01-30 01:16:29 +01:00
q66
632147c5fb
bump compiler
2017-01-29 21:22:40 +01:00
q66
58a361e6e0
remove ostd::Function after all (never supported allocators properly anyway)
2017-01-29 18:38:37 +01:00
q66
2c7f98f57e
use standard swap
2017-01-29 15:56:02 +01:00
q66
a8f7122d45
use standard declval
2017-01-29 15:29:11 +01:00
q66
a41299505c
use unique_ptr
2017-01-29 15:16:13 +01:00
q66
71515c5383
actually keep our own function because libstdc++'s has no allocator support
2017-01-28 23:00:05 +01:00
q66
780f7e5b21
use standard function
2017-01-28 22:46:48 +01:00
q66
c751275d83
remove remains of tuple headers
2017-01-28 19:39:50 +01:00
q66
c8c24300ee
fully use standard tuples
2017-01-28 19:06:52 +01:00
q66
2e7bba2c95
remove Pair, more standard tuple usage etc
2017-01-28 18:52:34 +01:00
q66
7e96183648
start moving over to standard tuple
2017-01-28 18:30:31 +01:00
q66
19226d51af
since we can't ADL for std container iter, use different system
...
This introduces ranged_traits structure, which by default works
for things defining .iter(), but also allows you to override it
per type at later stage, which comes in handy for std containers.
This is because we can't extend the std namespace in any way and
we still need to be able to add iterable functionality to std
containers even at later stage than iter() is defined.
2017-01-26 00:27:54 +01:00
q66
0bf36b679a
iter extensions for std::array
2017-01-25 23:46:48 +01:00
q66
56a3327dce
use standard vector and move/forward
2017-01-25 01:57:24 +01:00
q66
27005f1715
remove native ostd threading/atomic stuff (just use c++11 ones)
2017-01-24 00:35:07 +01:00
q66
41ad273c32
std allowed by default
2017-01-14 15:09:27 +01:00
q66
32cd56d3c1
linux/gcc fixes
2017-01-09 17:58:40 +01:00
q66
1eb3db64f0
use implicit ctor
2016-11-16 19:09:19 +01:00
q66
c450600097
add type trait to check type size in bits
2016-11-15 22:51:15 +01:00
q66
e7c6032edb
add initial numeric limits implementation (type-generic min/max/etc)
2016-11-15 22:46:03 +01:00
q66
9e609e0057
rename disown to release (consistent with other places)
2016-09-18 19:30:55 +02:00
q66
9251fb506f
remove unneeded code
2016-09-18 19:22:54 +02:00
q66
9d174013e6
fix
2016-09-11 21:21:07 +02:00
q66
519c9c7624
more noexcept and readme note
2016-09-11 21:20:03 +02:00
q66
1586cedd17
noexcept for memory.hh
2016-09-11 20:46:53 +02:00
q66
70a2b88898
allow non-static methods to be bound to Function
2016-09-11 19:57:42 +02:00
q66
462e6f0659
new ostd::Function implementation (cleaner with better allocator awareness including stateful allocators)
2016-09-11 17:58:16 +02:00
q66
f26cf02277
more internal traits for later use + cleaned ResultOf
2016-09-11 16:26:36 +02:00
q66
211961cc31
implement piecewise construction for Pair/CompressedPair
2016-09-11 14:08:56 +02:00
q66
7f2e5f67d4
fix
2016-09-06 19:55:17 +02:00
q66
d31101d85e
typo fix
2016-09-02 18:58:24 +01:00
q66
59ce413ef3
maybe enhancements
2016-09-02 18:52:58 +01:00
q66
b202cb43ad
typo
2016-09-02 18:20:39 +01:00
q66
0dc4d5074d
Maybe enhancements
2016-09-02 18:15:46 +01:00
q66
cd748bd44a
remove unneeded code
2016-09-02 17:21:35 +01:00
q66
c4039fa56f
add case insensitive string compare
2016-09-02 00:06:13 +01:00
q66
17365642ef
actually safe string cmp
2016-08-18 00:35:21 +01:00
q66
c7862243a8
avoid UB in string compare
2016-08-17 18:18:12 +01:00
q66
7a11157f95
formatting
2016-08-03 16:50:06 +01:00
q66
d259877fba
typo fix
2016-07-31 20:50:07 +01:00
q66
8afffc1fb7
refactoring, style updates, various fixes
2016-07-31 20:40:25 +01:00
q66
88241f5f9e
remove namespace
2016-07-08 19:48:11 +01:00
q66
115da8be30
use lstat for consistent behavior
2016-07-07 19:46:53 +01:00
q66
8b7fc0f791
don't alloc path twice
2016-07-07 17:06:57 +01:00
q66
b02966fb9d
environment api for windows, and rename environ namespace to envvar because windows is retarded
2016-07-06 20:40:43 +02:00
q66
dd35b0bf05
fix incorrect FindFirstFile logic on Windows
2016-07-06 19:51:39 +02:00
q66
85d98780ce
windows build warning/error fixes
2016-07-06 19:31:21 +02:00
q66
0a1b578fcd
ignore some template specializations for systems with no big char builtins
2016-07-06 19:10:17 +02:00
q66
0c8c16a44a
windows fixes + stdin/stdout/stderr might be defined as macros
2016-07-06 17:05:32 +01:00
q66
f5a7c19acc
fix invalid cast
2016-07-05 18:27:27 +01:00
q66
b7a2322990
add nothrow constructible/assignable/destructible type traits (for when user code uses exceptions)
2016-07-03 01:39:13 +01:00
q66
47ed1a700c
don't use classic style casts
2016-07-02 04:57:23 +01:00
q66
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
q66
676f76acee
string element append fix and OS X support note
2016-06-27 19:18:31 +01:00
q66
7912c24e3a
const syntax refactoring
2016-06-23 19:18:35 +01:00
q66
430ca81bfd
pass compare func by reference in sort impl (don't copy it around)
2016-05-29 02:41:58 +01:00
q66
46d8844a49
return fix
2016-05-24 01:30:11 +01:00
q66
5189bab1af
simplify string operator+= for T
2016-05-22 15:31:11 +01:00
q66
d9bd0f8380
restrict string operator+ (conflicts with range offset)
2016-05-21 15:36:14 +01:00
q66
65954f614c
decay map/filter callbacks before storing them
2016-05-09 00:07:25 +01:00
q66
a5c4b9d3ca
global concat op for strings
2016-05-07 17:25:40 +01:00
q66
7561d40b14
missed inline
2016-05-04 00:50:52 +01:00
q66
75e27a14b0
overload rvalue refs to const for tuple
2016-05-02 18:21:54 +01:00
q66
34cb1f1fbd
forward the tuple to ensure correct get semantics
2016-05-01 00:53:48 +01:00
q66
f46ffa53fd
forwarding join/zip
2016-05-01 00:34:00 +01:00
q66
b16e72fa16
convert nearly all algos (except variadic ones) to use perfect forwarding
2016-04-30 19:21:50 +01:00
q66
ca0dfcd8a4
fix return type
2016-04-30 18:27:53 +01:00
q66
0f5ed68124
actually need to move things into the lambda or they die
2016-04-30 18:24:17 +01:00
q66
5dfc54dad9
simplify map/filter
2016-04-30 17:58:37 +01:00
q66
e33797e571
pipeable foldl/foldr func variant
2016-04-29 17:47:04 +01:00
q66
fcd0616f4d
fix naming
2016-04-29 17:45:06 +01:00
q66
551dc8bc15
return range from sort and make it pipeable
2016-04-29 17:34:46 +01:00
q66
62fdbc74ad
add missing pipeable algorithms and suffix funcs that use comparators
2016-04-29 17:30:32 +01:00
q66
ab22ba910a
remove mutable where unnecessary + capture join/zip by ref instead of copy
2016-04-27 18:42:51 +01:00
q66
878476a397
use int for sdl1 mode and report size
2016-04-27 01:18:04 +01:00
q66
c5a9d535f5
fixes
2016-04-27 01:11:03 +01:00
q66
e51fe5a348
add an extensions directory and first extension, sdl rwops stream integration
2016-04-27 01:08:59 +01:00
q66
288526e7db
capture by references more (the objects live long enough to be safe)
2016-04-27 00:29:55 +01:00
q66
e7dd08d884
piping for nearly all algorithms
2016-04-26 22:25:46 +01:00
q66
5604df9625
make core range funcs methods on InputRange + initial support for piping
2016-04-26 22:05:07 +01:00
q66
2d399a2ed3
fix RangeValue for ZipRange
2016-03-30 20:41:59 +01:00
q66
6c840ad830
implement zip and tuple ToString
2016-03-27 23:49:57 +01:00
q66
f651940570
add initial implementation of range joiner (join any type-compatible ranges into one)
2016-03-27 21:06:00 +01:00
q66
59551e0aee
fix the StreamMode enum
2016-03-26 17:26:37 +00:00
q66
ce42683c99
default to read mode in filestreams
2016-03-26 15:19:00 +00:00
q66
54789177e2
no need for a typedef
2016-03-24 21:52:16 +00:00
q66
60a04937c6
string range optimizations
2016-03-23 22:32:30 +00:00
q66
a31ddba522
range fixes
2016-03-23 22:27:46 +00:00
q66
9de9d99d4d
fixes
2016-03-22 01:13:43 +00:00
q66
5b4ea576b7
change to RemoveConst
2016-03-21 21:25:23 +00:00
q66
e48642659d
generalize temp cstrings for any range type
2016-03-21 21:21:41 +00:00
q66
4854242918
typo fix
2016-03-20 20:23:26 +00:00
q66
6c4fd3d8ae
this doesn't actually happen
2016-03-19 20:23:46 +00:00
q66
a63cf1edb1
add experimental api to turn unterminated string ranges to terminated c strings
2016-03-19 19:52:46 +00:00
q66
40746de1c3
add environment funcs (environ.hh) and update test runner code (less verbose/cleaner)
2016-03-13 01:28:39 +00:00
q66
b66c684add
add trailing newlines
2016-02-07 21:19:20 +00:00
q66
dfc867bd48
remove unused file
2016-02-05 21:29:27 +00:00
q66
3495d6ea2f
remove platform.hh include
2016-01-28 18:36:48 +00:00
q66
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
q66
62d7836f32
header fixes
2016-01-26 19:01:27 +00:00
q66
e5dc50b0dd
support hardware_concurrency static method like c++ std::thread (also replaces cpu_count_get)
2016-01-26 18:58:16 +00:00
q66
5192ea4977
small cleanup
2016-01-24 16:59:44 +00:00
q66
4b9faefa5c
convert locking/cond code to pthreads to get rid of awful c11 api
2016-01-24 15:33:15 +00:00
q66
86170b75c4
convert thread.hh to phreads (c11 threads api is awful)
2016-01-24 15:22:51 +00:00
q66
4eb03ad017
lock fixes
2016-01-23 22:38:30 +00:00
q66
98eeb765fd
initial implementation of locking primitives and conditions
2016-01-23 22:16:10 +00:00
q66
bf647c100e
re-add iter for arrays of const
2016-01-23 17:38:41 +00:00
q66
46fb6ced30
support for extra args for thread constructor
2016-01-23 17:26:42 +00:00
q66
b84eb137da
initial portable ostd::Thread interface (on top of C11 threads)
2016-01-23 16:54:27 +00:00
q66
d1feaafb5e
change style for constants
2016-01-22 18:12:39 +00:00
q66
eaaddb0d0b
redefine some stuff without macros
2016-01-22 18:10:13 +00:00
q66
305d3e54f6
cleanups
2016-01-21 17:58:51 +00:00
q66
5902299a1d
convert the remaining usage of Constant and all the remaining public traits
2016-01-20 19:05:11 +00:00
q66
8a1671f6ea
convert most of the rest to template vars
2016-01-20 18:42:29 +00:00
q66
7802efa1a1
use constexpr bool for IsTupleLike
2016-01-20 18:09:44 +00:00
q66
2c4d6fee09
convert TupleSize to template var
2016-01-19 19:14:02 +00:00
q66
29bf432800
remove bad file
2016-01-18 18:05:04 +00:00