q66
|
dc58d09388
|
make allocator based containers more predictable + simplified PointerRange
|
2015-06-17 00:15:44 +01:00 |
|
q66
|
ec44dbbfbd
|
fix find() for const containers
|
2015-06-16 22:54:04 +01:00 |
|
q66
|
2b05cb9297
|
Map::find, Set::find
|
2015-06-16 22:51:57 +01:00 |
|
q66
|
4a86120a8f
|
add octa::Set (hash table set)
|
2015-06-16 22:19:20 +01:00 |
|
q66
|
3a659c1412
|
much simpler rehashing that doesn't invalidate references and allocates less
|
2015-06-16 21:52:37 +01:00 |
|
q66
|
7265aee0d9
|
automatic rehashing
|
2015-06-16 21:36:16 +01:00 |
|
q66
|
eca4310caf
|
support for hashtable assignment ops
|
2015-06-16 20:44:41 +01:00 |
|
q66
|
cfe7450d4b
|
hashtable swap allocator fix
|
2015-06-16 20:05:45 +01:00 |
|
q66
|
1c6f3a74e1
|
follow allocator propagation on swap + do not free memory unless necessary
|
2015-06-16 20:02:52 +01:00 |
|
q66
|
4b0add9020
|
follow allocator propagation rules
|
2015-06-16 19:57:08 +01:00 |
|
q66
|
e0a498806a
|
hash table copy/move ctor support
|
2015-06-16 19:12:03 +01:00 |
|
q66
|
3b65b0cb99
|
use allocators for hashtables always
|
2015-06-16 01:46:34 +01:00 |
|
q66
|
8324f5f9cc
|
revamped HashRange
|
2015-06-16 01:24:19 +01:00 |
|
q66
|
aa2a0afcc1
|
add BucketRange instead of abusing HashRange
|
2015-06-15 22:10:44 +01:00 |
|
q66
|
c456843f59
|
bucket interface
|
2015-06-15 21:06:34 +01:00 |
|
q66
|
e15bb6adf3
|
prevent vector/string/map range constructors to be used when the input arg is not a range (prevent conflicts with other ctors)
|
2015-06-15 19:44:00 +01:00 |
|
q66
|
7cdac42c4a
|
sfinae friendly range traits + IsInputRange etc now works on arbitrary non-range types
|
2015-06-15 18:54:00 +01:00 |
|
q66
|
13e553f85c
|
hash initializer list and range ctors
|
2015-06-15 02:22:10 +01:00 |
|
q66
|
8ce2e67e36
|
emplace support on hashtables
|
2015-06-15 02:09:53 +01:00 |
|
q66
|
1ae3957e5c
|
more hash ctors
|
2015-06-15 01:35:37 +01:00 |
|
q66
|
4715e09f35
|
hashtble rehash support
|
2015-06-15 00:18:08 +01:00 |
|
q66
|
e2d8283eb7
|
cleaner hash range handling
|
2015-06-14 19:48:55 +01:00 |
|
q66
|
c287d7e98a
|
push_front is only necessary on bidir ranges or better now
|
2015-06-14 04:53:38 +01:00 |
|
q66
|
fa7bf1d3db
|
initial range interface for hashtables
|
2015-06-14 04:32:01 +01:00 |
|
q66
|
c9e3ebd773
|
load factor management api
|
2015-06-14 03:43:11 +01:00 |
|
q66
|
d24d891977
|
more hashtable apis
|
2015-06-14 03:38:08 +01:00 |
|
q66
|
c5678238c3
|
move semantics/perfect forwarding for hashtable keys
|
2015-06-14 03:04:03 +01:00 |
|
q66
|
48b8ba7522
|
initial hashtable/map implementation
|
2015-06-14 02:46:46 +01:00 |
|
q66
|
850d20093a
|
string equality + tweaks
|
2015-06-14 02:36:20 +01:00 |
|
q66
|
5c0f051eac
|
forwarding ctors
|
2015-06-13 16:36:47 +01:00 |
|
q66
|
e4738e0368
|
implement a basic CompressedPair for internal container usage (removes code dups)
|
2015-06-13 16:32:03 +01:00 |
|
q66
|
4d97aa7ac2
|
add get_allocator
|
2015-06-12 20:13:27 +01:00 |
|
q66
|
79774efbe6
|
more generalized PointerRange (but only optionally)
|
2015-06-11 00:41:41 +01:00 |
|
q66
|
5608cb97ac
|
fix
|
2015-06-11 00:21:11 +01:00 |
|
q66
|
3cf06f228d
|
Vector::insert/insert_range now returns a range
|
2015-06-11 00:20:21 +01:00 |
|
q66
|
657118f037
|
simpler and more correct vector packed pair
|
2015-06-11 00:14:19 +01:00 |
|
q66
|
b079d3b51d
|
use the pointer/reference typedefs + redefine them with allocator traits
|
2015-06-11 00:08:56 +01:00 |
|
q66
|
59c896e34f
|
remove unnecessary arg
|
2015-06-10 01:18:56 +01:00 |
|
q66
|
e8114feaf0
|
the traits are actually not necessary
|
2015-06-10 00:59:39 +01:00 |
|
q66
|
905d9e8d3c
|
actually get rid of the reach() stuff, introduce new Reverse and Movable range traits and rename range.reach() to range.reverse()
|
2015-06-10 00:57:46 +01:00 |
|
q66
|
6b87f4c4ac
|
no need to specify template args there
|
2015-06-10 00:16:25 +01:00 |
|
q66
|
f9adf08ef9
|
turn make_move_range into .movable() on any range, and make_half_range(h1, h2) into h1.each(h2)
|
2015-06-10 00:13:20 +01:00 |
|
q66
|
6b2a7fb43c
|
avoid copies
|
2015-06-09 23:07:53 +01:00 |
|
q66
|
40b52ed765
|
more efficient sort
|
2015-06-09 22:56:40 +01:00 |
|
q66
|
ae68f1f379
|
octa::ceach,reach,creach
|
2015-06-09 21:18:43 +01:00 |
|
q66
|
1553e2d30f
|
add StringRange (provides hashing and proper ToString), make it the range for String, add extra ptr-ctor for Vector and new ctors for String, optimizations
|
2015-06-09 19:02:44 +01:00 |
|
q66
|
13b8b06d33
|
hashing improvements, allow to_hash on containers
|
2015-06-09 18:58:21 +01:00 |
|
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 |
|