q66
|
b1192b248c
|
noexcept formatting
|
2015-04-29 01:38:16 +01:00 |
|
q66
|
1a2d606ae7
|
noexcept the library
|
2015-04-28 18:48:58 +01:00 |
|
q66
|
de7ceba269
|
minor renames
|
2015-04-27 19:56:06 +01:00 |
|
q66
|
e98b8946ae
|
define size_type for ranges
|
2015-04-27 19:53:48 +01:00 |
|
q66
|
d7778cf259
|
ditch the separate "type" struct
|
2015-04-27 19:38:34 +01:00 |
|
q66
|
f106c5ae24
|
get rid of namespace internal
|
2015-04-24 18:16:35 +01:00 |
|
q66
|
ff5fc7368d
|
add EnumeratedRange + octa::enumerate
|
2015-04-21 17:58:36 +01:00 |
|
q66
|
6807d22df5
|
satisfy OutputRange on MoveRange and PointerRange (might be mutable), add more algorithms
|
2015-04-21 17:56:36 +01:00 |
|
q66
|
ed0b28f2e0
|
add PointerRange constructor for pointer + length
|
2015-04-19 20:53:02 +01:00 |
|
q66
|
58063fe392
|
add min, max, min_element, max_element in algorithm.h; rename VectorRange to PointerRange and move to range.h (useful as generic, e.g. with InitializerList)
|
2015-04-19 00:04:17 +01:00 |
|
q66
|
dc2dacaf5d
|
add slicing for finite random access ranges
|
2015-04-18 22:05:24 +01:00 |
|
q66
|
35424dd248
|
assignment op overloads for reverserange/moverange (c++ deletes them because of move ctor)
|
2015-04-18 20:31:07 +01:00 |
|
q66
|
296b7cdeb9
|
move move/forward to utility.h
|
2015-04-18 00:11:16 +01:00 |
|
q66
|
32d925d298
|
define support for OutputRange
|
2015-04-17 21:33:01 +01:00 |
|
q66
|
c9b7afc035
|
add NumberRange specialization for 1 argument (creates a "[0, v)" range)
|
2015-04-17 20:33:36 +01:00 |
|
q66
|
1557c227d0
|
remove range traits pointer specializations, as a pointer is not a range... also remove the pointer member type
|
2015-04-17 20:29:38 +01:00 |
|
q66
|
0116d3cf4c
|
equality checking for NumberRange
|
2015-04-17 20:20:38 +01:00 |
|
q66
|
37aa387734
|
use inheritance to guarantee iterable behavior (also shortens code)
|
2015-04-17 20:15:03 +01:00 |
|
q66
|
83abf1d44b
|
make RangeIterator more internal; strip down its unnecessary functionality; remove the iterator macro for standard containers; fixes
|
2015-04-17 18:33:41 +01:00 |
|
q66
|
e73a8344ab
|
RangeIterator doesn't need a type {} structure
|
2015-04-17 02:19:40 +01:00 |
|
q66
|
21ba9d025d
|
add NumberRange
|
2015-04-17 00:55:50 +01:00 |
|
q66
|
bc35dad776
|
fix RangeIterator to use empty()
|
2015-04-17 00:15:20 +01:00 |
|
q66
|
36d53f2019
|
make_move_range/make_reverse_range
|
2015-04-16 23:47:31 +01:00 |
|
q66
|
603cb42eca
|
fix insert + add move_range
|
2015-04-16 23:26:10 +01:00 |
|
q66
|
cb8e189450
|
range-based vector insert + add MoveRange that wraps any InputRange with move semantics
|
2015-04-16 23:06:39 +01:00 |
|
q66
|
66f7bc90c2
|
range category tags + cleanup
|
2015-04-16 21:50:53 +01:00 |
|
q66
|
e1b9e208ae
|
better constness on ranges
|
2015-04-16 20:35:10 +01:00 |
|
q66
|
0ac0ec24be
|
const stuff
|
2015-04-16 02:40:49 +01:00 |
|
q66
|
aca6a7810b
|
correct [] operator on reverse ranges
|
2015-04-16 02:13:53 +01:00 |
|
q66
|
1f7c5e97b3
|
reverse range
|
2015-04-16 02:07:32 +01:00 |
|
q66
|
988b092778
|
actually working comparisons
|
2015-04-16 01:47:02 +01:00 |
|
q66
|
cb68ada121
|
simplify ranges a bit
|
2015-04-16 01:18:18 +01:00 |
|
q66
|
c79e5757f9
|
initial proof-of-concept implementation of ranges and range iterator
|
2015-04-16 00:18:00 +01:00 |
|