q66
|
154b1c7588
|
operator+ and operator- should be const
|
2015-06-21 22:29:17 +01:00 |
|
q66
|
f93094735e
|
remove duplications in all hash table code + unify hashes and multihashes into a single struct
|
2015-06-18 02:32:43 +01:00 |
|
q66
|
b20a6ec38e
|
hash table cleanups
|
2015-06-18 01:41:00 +01:00 |
|
q66
|
7cf50febd9
|
cleaner multihash handling
|
2015-06-18 01:17:33 +01:00 |
|
q66
|
e0ce128d13
|
remove unneeded templates
|
2015-06-17 21:37:22 +01:00 |
|
q66
|
281371bb0c
|
reduce code duplication
|
2015-06-17 21:33:49 +01:00 |
|
q66
|
ea70d2e467
|
add octa::Multimap and octa::Multiset
|
2015-06-17 21:25:34 +01:00 |
|
q66
|
bbb5fbf224
|
stricter bucket/hashrange ctor test
|
2015-06-17 19:19:08 +01:00 |
|
q66
|
7a63619852
|
actually only check for sameness without qualifiers
|
2015-06-17 02:30:36 +01:00 |
|
q66
|
d8bf7b9c69
|
make hash/bucket ranges properly convertible
|
2015-06-17 02:28:26 +01:00 |
|
q66
|
ad0521bdfa
|
modify StringRange in the same way
|
2015-06-17 02:00:39 +01:00 |
|
q66
|
dafd5a17b5
|
loosen up PointerRange ctor rules (allow construction of PointerRange<T> from any PointerRange<U> where U * is convertible to T *)
|
2015-06-17 00:44:53 +01:00 |
|
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 |
|