Commit graph

849 commits

Author SHA1 Message Date
q66 ea42a5e841 use new type aliases + refactoring + namespacing 2015-06-08 21:20:12 +01:00
q66 06dc966f19 explicit-size type aliases + do not expose uint etc into global namespace 2015-06-08 20:45:49 +01:00
q66 d4e234f893 type renames 2015-06-08 01:39:12 +01:00
q66 6eae6487c4 replace usages of typedef with "using" 2015-06-08 00:55:08 +01:00
q66 7f1c80e2d6 oops 2015-06-07 18:31:27 +01:00
q66 4a45d03544 gcc warning fixes 2015-06-07 18:30:28 +01:00
q66 23261d6d5b no typename necessary 2015-06-07 18:12:07 +01:00
q66 548de69102 add octa::FunctionMakeDefaultConstructible, use in MapRange and FilterRange
This turns any callable object into a primitive default constructible type.
That is, for regular function objects, the type represents the object type
itself, for function pointers, the type represents the function pointer,
for simple lambdas the type represents a function pointer they map to
(only when the lambda doesn't capture) and for closures it represents
the right octa::Function type.
2015-06-07 18:07:48 +01:00
q66 f4ca222dbd remove duplicate code + further simplify 2015-06-07 16:32:32 +01:00
q66 1d47ac26a8 simplify func checks 2015-06-07 16:17:03 +01:00
q66 ee8d565203 optimize/specialize filter func in a similar way to map func 2015-06-07 16:12:14 +01:00
q66 44e07b8e6b no need to do convertible checks as that's already done previously 2015-06-07 15:50:33 +01:00
q66 93652ed81f fix octa::MapRange func type checks for regular functors 2015-06-07 15:49:08 +01:00
q66 36d9a35066 for MapRange, specialize stored func in a few ways to avoid octa::Function (and thus avoid the significant overhead it brings) 2015-06-07 04:31:18 +01:00
q66 2652fe9242 octa::Function allocator support 2015-06-07 01:14:04 +01:00
q66 e9ab01b894 function cleanup 2015-06-07 00:03:06 +01:00
q66 d6d0ff3e8d tests for utility.h 2015-06-06 18:22:10 +01:00
q66 3f56700e19 format fixes 2015-06-05 23:45:07 +01:00
q66 84d78ba87a deuglify template args 2015-06-04 22:57:06 +01:00
q66 47016ec6ad clean up the rest of type traits 2015-06-04 21:47:30 +01:00
q66 49188f78ea more type traits cleanups 2015-06-04 21:19:05 +01:00
q66 1aeebb69a7 some type traits cleanups 2015-06-04 21:09:11 +01:00
q66 d9366475b5 fully cleaned up memory.h 2015-06-04 02:20:20 +01:00
q66 bc2e3575b2 further memory.h cleanups 2015-06-04 02:09:07 +01:00
q66 e12e1aa57b more memory.h cleanups 2015-06-04 01:56:04 +01:00
q66 1b038b0de8 memory.h partial cleanup 2015-06-04 01:45:30 +01:00
q66 62b8bee6c3 deassify atomic.h 2015-06-04 00:20:19 +01:00
q66 9b0a6e630b deuglify vector.h 2015-06-04 00:06:43 +01:00
q66 710fa1addc deuglify range.h 2015-06-03 23:55:11 +01:00
q66 153812e91e deuglify functional.h 2015-06-03 23:27:09 +01:00
q66 e130eb6cf0 deuglify array.h 2015-06-03 23:10:10 +01:00
q66 e0d64ab1ac deuglify string.h 2015-06-03 23:07:57 +01:00
q66 5a11390903 deuglify utility.h 2015-06-03 23:01:23 +01:00
q66 e599a7f67a deassify initializer_list 2015-06-03 22:56:01 +01:00
q66 d442ba2508 deassify algorithm.h 2015-06-03 22:54:18 +01:00
q66 ae05420994 get rid of __Octa/__octa in algorithm 2015-06-03 22:43:39 +01:00
q66 6c20f00494 space-optimize vector (don't take up any additional space with empty allocator) 2015-06-03 22:31:02 +01:00
q66 216fdb5392 initial vector and string allocator support (currently space-inefficient) 2015-06-03 22:04:48 +01:00
q66 ff90009450 get rid of stupid Type suffixes (we already know it's a type from the name) 2015-06-03 20:00:41 +01:00
q66 749434f98c add allocator traits 2015-06-03 19:47:36 +01:00
q66 49b9a8d17f add octa::make_pair and octa::exchange 2015-06-02 02:01:32 +01:00
q66 bfc94e31d7 uglify the code by using unique identifiers only (prevent macro conflicts) 2015-06-02 00:57:34 +01:00
q66 8bfd38f2e6 remove unused vars 2015-06-01 02:39:19 +01:00
q66 67600c4637 first -> front, last -> back 2015-06-01 01:13:37 +01:00
q66 ca5d80189a RangeOf template to get a range for the given type 2015-06-01 00:33:59 +01:00
q66 0c9a6f3a00 simplified concat 2015-05-31 23:55:40 +01:00
q66 71f40d9ee4 allow octa::concat to work on non-range types that provide range interface 2015-05-31 19:50:00 +01:00
q66 10f5278c98 allow specification of test directory and source extension 2015-05-31 17:16:46 +01:00
q66 0954b256ee cleaner color handling 2015-05-31 17:10:27 +01:00
q66 6c3db69741 no need to specialize ToString for objects that provide a range interface (works by default) 2015-05-31 16:44:35 +01:00