Daniel Kolesa
4a45d03544
gcc warning fixes
2015-06-07 18:30:28 +01:00
Daniel Kolesa
23261d6d5b
no typename necessary
2015-06-07 18:12:07 +01:00
Daniel Kolesa
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
Daniel Kolesa
f4ca222dbd
remove duplicate code + further simplify
2015-06-07 16:32:32 +01:00
Daniel Kolesa
1d47ac26a8
simplify func checks
2015-06-07 16:17:03 +01:00
Daniel Kolesa
ee8d565203
optimize/specialize filter func in a similar way to map func
2015-06-07 16:12:14 +01:00
Daniel Kolesa
44e07b8e6b
no need to do convertible checks as that's already done previously
2015-06-07 15:50:33 +01:00
Daniel Kolesa
93652ed81f
fix octa::MapRange func type checks for regular functors
2015-06-07 15:49:08 +01:00
Daniel Kolesa
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
Daniel Kolesa
2652fe9242
octa::Function allocator support
2015-06-07 01:14:04 +01:00
Daniel Kolesa
e9ab01b894
function cleanup
2015-06-07 00:03:06 +01:00
Daniel Kolesa
d6d0ff3e8d
tests for utility.h
2015-06-06 18:22:10 +01:00
Daniel Kolesa
3f56700e19
format fixes
2015-06-05 23:45:07 +01:00
Daniel Kolesa
84d78ba87a
deuglify template args
2015-06-04 22:57:06 +01:00
Daniel Kolesa
47016ec6ad
clean up the rest of type traits
2015-06-04 21:47:30 +01:00
Daniel Kolesa
49188f78ea
more type traits cleanups
2015-06-04 21:19:05 +01:00
Daniel Kolesa
1aeebb69a7
some type traits cleanups
2015-06-04 21:09:11 +01:00
Daniel Kolesa
d9366475b5
fully cleaned up memory.h
2015-06-04 02:20:20 +01:00
Daniel Kolesa
bc2e3575b2
further memory.h cleanups
2015-06-04 02:09:07 +01:00
Daniel Kolesa
e12e1aa57b
more memory.h cleanups
2015-06-04 01:56:04 +01:00
Daniel Kolesa
1b038b0de8
memory.h partial cleanup
2015-06-04 01:45:30 +01:00
Daniel Kolesa
62b8bee6c3
deassify atomic.h
2015-06-04 00:20:19 +01:00
Daniel Kolesa
9b0a6e630b
deuglify vector.h
2015-06-04 00:06:43 +01:00
Daniel Kolesa
710fa1addc
deuglify range.h
2015-06-03 23:55:11 +01:00
Daniel Kolesa
153812e91e
deuglify functional.h
2015-06-03 23:27:09 +01:00
Daniel Kolesa
e130eb6cf0
deuglify array.h
2015-06-03 23:10:10 +01:00
Daniel Kolesa
e0d64ab1ac
deuglify string.h
2015-06-03 23:07:57 +01:00
Daniel Kolesa
5a11390903
deuglify utility.h
2015-06-03 23:01:23 +01:00
Daniel Kolesa
e599a7f67a
deassify initializer_list
2015-06-03 22:56:01 +01:00
Daniel Kolesa
d442ba2508
deassify algorithm.h
2015-06-03 22:54:18 +01:00
Daniel Kolesa
ae05420994
get rid of __Octa/__octa in algorithm
2015-06-03 22:43:39 +01:00
Daniel Kolesa
6c20f00494
space-optimize vector (don't take up any additional space with empty allocator)
2015-06-03 22:31:02 +01:00
Daniel Kolesa
216fdb5392
initial vector and string allocator support (currently space-inefficient)
2015-06-03 22:04:48 +01:00
Daniel Kolesa
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
Daniel Kolesa
749434f98c
add allocator traits
2015-06-03 19:47:36 +01:00
Daniel Kolesa
49b9a8d17f
add octa::make_pair and octa::exchange
2015-06-02 02:01:32 +01:00
Daniel Kolesa
bfc94e31d7
uglify the code by using unique identifiers only (prevent macro conflicts)
2015-06-02 00:57:34 +01:00
Daniel Kolesa
8bfd38f2e6
remove unused vars
2015-06-01 02:39:19 +01:00
Daniel Kolesa
67600c4637
first -> front, last -> back
2015-06-01 01:13:37 +01:00
Daniel Kolesa
ca5d80189a
RangeOf template to get a range for the given type
2015-06-01 00:33:59 +01:00
Daniel Kolesa
0c9a6f3a00
simplified concat
2015-05-31 23:55:40 +01:00
Daniel Kolesa
71f40d9ee4
allow octa::concat to work on non-range types that provide range interface
2015-05-31 19:50:00 +01:00
Daniel Kolesa
10f5278c98
allow specification of test directory and source extension
2015-05-31 17:16:46 +01:00
Daniel Kolesa
0954b256ee
cleaner color handling
2015-05-31 17:10:27 +01:00
Daniel Kolesa
6c3db69741
no need to specialize ToString for objects that provide a range interface (works by default)
2015-05-31 16:44:35 +01:00
Daniel Kolesa
b00ebebf10
increment counters in print_result
2015-05-31 16:36:39 +01:00
Daniel Kolesa
1019462d60
no color test output on windows + other testrunner changes
2015-05-31 16:33:49 +01:00
Daniel Kolesa
d10cdfebbb
don't use shell in test runner
2015-05-31 16:13:22 +01:00
Daniel Kolesa
56ba03ad3f
test runner improvements
2015-05-31 16:03:43 +01:00
Daniel Kolesa
77f7fed0df
more tests + cleaner test runner
2015-05-31 15:50:09 +01:00