Commit Graph

760 Commits (8be2e1fa563eb5ab84825fa1821841f3d27a7e8e)

Author SHA1 Message Date
Daniel Kolesa d06637eac6 actually use write_bytes directly 2017-02-10 17:48:19 +01:00
Daniel Kolesa 922f19b776 make write(x) equivalent to write("%s", x) 2017-02-10 17:44:06 +01:00
Daniel Kolesa e1f5cc477f extend IteratorRange to handle pointers as special case 2017-02-09 23:38:11 +01:00
Daniel Kolesa 052fa58be4 clean up pointer range constructor 2017-02-09 22:55:17 +01:00
Daniel Kolesa 946cf9d3fe use char_traits in string range types 2017-02-09 21:39:35 +01:00
Daniel Kolesa 2d5c4cab3f clean up pointer/string ranges 2017-02-09 21:27:20 +01:00
Daniel Kolesa c5dd6bb8c3 remove obsolete type traits 2017-02-09 20:56:15 +01:00
Daniel Kolesa ea6d3d4bbf clean up IteratorRange, use unsigned variant of difference for size 2017-02-09 20:13:52 +01:00
Daniel Kolesa 463c7275d5 use ranged_traits specialization for static arrays 2017-02-09 20:07:10 +01:00
Daniel Kolesa 79809a610b remove functional.hh 2017-02-08 01:06:50 +01:00
Daniel Kolesa efa103c362 consistent error msg 2017-02-01 22:42:18 +01:00
Daniel Kolesa 9e87d372de allow constructing unordered_maps from any 2-tuple range 2017-02-01 22:38:25 +01:00
Daniel Kolesa 407d4a524f forgot to actually use the new template params 2017-02-01 20:58:54 +01:00
Daniel Kolesa 0842a24cd3 complete template param support for all ranged make_ funcs and ranged_traits 2017-02-01 20:56:29 +01:00
Daniel Kolesa 84f01c1286 remove memory.hh 2017-02-01 20:19:14 +01:00
Daniel Kolesa 3e683a2436 remove silly intermediate ranges for writef, print directly to stream 2017-02-01 19:30:15 +01:00
Daniel Kolesa 077835e4b6 range system fixes, add iterator types to RangeHalf, optimize make_vector(R) 2017-02-01 18:29:42 +01:00
Daniel Kolesa e0072773e1 remove custom hashtable; no longer necessary 2017-01-31 19:31:55 +01:00
Daniel Kolesa 1f83e8c1b0 cleaner range passing in second version of make_CONTAINER 2017-01-31 19:17:46 +01:00
Daniel Kolesa fbdaf77b62 std::unordered_map initial range support (no extra template args yet) 2017-01-31 19:11:38 +01:00
Daniel Kolesa 6ec72a6ecd add IteratorRange to make a range out of any two iterators 2017-01-30 22:07:12 +01:00
Daniel Kolesa 62b0c2ecf7 hash operator() needs to be const 2017-01-30 19:31:24 +01:00
Daniel Kolesa 1abf3bb3ad remove Maybe (use optional instead) 2017-01-30 19:27:25 +01:00
Daniel Kolesa 0ee0d3231c use standard types 2017-01-30 19:23:12 +01:00
Daniel Kolesa 2884f4b47b use size_t and ptrdiff_t 2017-01-30 19:11:49 +01:00
Daniel Kolesa 1db7529ad9 remove custom hashing 2017-01-30 18:56:38 +01:00
Daniel Kolesa 343c684820 initial proper string integration 2017-01-30 01:16:29 +01:00
Daniel Kolesa 632147c5fb bump compiler 2017-01-29 21:22:40 +01:00
Daniel Kolesa 58a361e6e0 remove ostd::Function after all (never supported allocators properly anyway) 2017-01-29 18:38:37 +01:00
Daniel Kolesa 2c7f98f57e use standard swap 2017-01-29 15:56:02 +01:00
Daniel Kolesa a8f7122d45 use standard declval 2017-01-29 15:29:11 +01:00
Daniel Kolesa a41299505c use unique_ptr 2017-01-29 15:16:13 +01:00
Daniel Kolesa 71515c5383 actually keep our own function because libstdc++'s has no allocator support 2017-01-28 23:00:05 +01:00
Daniel Kolesa 780f7e5b21 use standard function 2017-01-28 22:46:48 +01:00
Daniel Kolesa faa8c95486 update OS support 2017-01-28 19:53:52 +01:00
Daniel Kolesa c751275d83 remove remains of tuple headers 2017-01-28 19:39:50 +01:00
Daniel Kolesa c8c24300ee fully use standard tuples 2017-01-28 19:06:52 +01:00
Daniel Kolesa 2e7bba2c95 remove Pair, more standard tuple usage etc 2017-01-28 18:52:34 +01:00
Daniel Kolesa 7e96183648 start moving over to standard tuple 2017-01-28 18:30:31 +01:00
Daniel Kolesa 5ec32439c5 mark visual studio permanently unsupported 2017-01-28 14:53:01 +01:00
Daniel Kolesa 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
Daniel Kolesa 0bf36b679a iter extensions for std::array 2017-01-25 23:46:48 +01:00
Daniel Kolesa 56a3327dce use standard vector and move/forward 2017-01-25 01:57:24 +01:00
Daniel Kolesa 3a21c86a7e remove obsolete tests 2017-01-24 23:42:10 +01:00
Daniel Kolesa 27005f1715 remove native ostd threading/atomic stuff (just use c++11 ones) 2017-01-24 00:35:07 +01:00
Daniel Kolesa 41ad273c32 std allowed by default 2017-01-14 15:09:27 +01:00
Daniel Kolesa 32cd56d3c1 linux/gcc fixes 2017-01-09 17:58:40 +01:00
Daniel Kolesa 1eb3db64f0 use implicit ctor 2016-11-16 19:09:19 +01:00
Daniel Kolesa c450600097 add type trait to check type size in bits 2016-11-15 22:51:15 +01:00
Daniel Kolesa e7c6032edb add initial numeric limits implementation (type-generic min/max/etc) 2016-11-15 22:46:03 +01:00