summaryrefslogtreecommitdiffstats
path: root/libcxx/include/unordered_map
Commit message (Collapse)AuthorAgeFilesLines
...
* Debug mode for unordered_multimap. Some mods were done for unordered_map as ↵Howard Hinnant2013-07-301-0/+40
| | | | | | well to keep all the tests passing. However unordered_map is at the very least still missing tests, if not functionality (if it isn't tested, it probably isn't working). llvm-svn: 187446
* Debug mode for unordered_set. I believe this to be fairly complete forHoward Hinnant2013-07-231-4/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unordered_set, however it is not complete yet for unordered_multiset, unordered_map or unordered_multimap. There has been a lot of work done for these other three containers, however that work was done just to keep all of the tests passing. You can try this out with -D_LIBCPP_DEBUG2. You will have to link to a libc++.dylib that has been compiled with src/debug.cpp. So far, vector (but not vector<bool>), list, and unordered_set are treated. I hope to get the other three unordered containers up fairly quickly now that unordered_set is done. The flag _LIBCPP_DEBUG2 will eventually be changed to _LIBCPP_DEBUG, but not today. This is my second effort at getting debug mode going for libc++, and I'm not quite yet ready to throw all of the work under the first attempt away. The basic design is that all of the debug information is kept in a central database, instead of in the containers. This has been done as an attempt to have debug mode and non-debug mode be ABI compatible with each other. There are some circumstances where if you construct a container in an environment without debug mode and pass it into debug mode, the checking will get confused and let you know with a readable error message. Passing containers the other way: from debug mode out to a non-debugging mode container should be 100% safe (at least that is the goal). llvm-svn: 186991
* Remove implicit conversion from __value_type to value_type in ↵Howard Hinnant2013-07-051-30/+18
| | | | | | [unordered_][multi]map. This fixes http://llvm.org/bugs/show_bug.cgi?id=16549 llvm-svn: 185711
* Removed extension in [unordered_][multi]map which allowed one to emplace ↵Howard Hinnant2013-07-041-72/+15
| | | | | | using just an argument for the key, as opposed to using piecewise_construct. However a bug report exposed that this created an unfortunate ambiguity. People who are currently using the extension will be notified the next time they compile, and will have to change to using piecewise_construct. There are no ABI issues with the removal of this extension. This fixes http://llvm.org/bugs/show_bug.cgi?id=16542 llvm-svn: 185666
* Simplify comparators of [unordered_][multi]map. This fixes ↵Howard Hinnant2013-07-041-46/+0
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=16538 llvm-svn: 185665
* Implement full support for non-pointer types in custom allocators. This is ↵Howard Hinnant2013-06-221-20/+132
| | | | | | for the unordered containers only. This work still needs to be done on the sequence containers. llvm-svn: 184635
* No functionality change at this time. I've split _LIBCPP_VISIBLE up into ↵Howard Hinnant2013-03-061-13/+13
| | | | | | two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. llvm-svn: 176593
* The rules for emplace in map, multimap, unordered_map and unordered_multimap ↵Howard Hinnant2012-05-251-126/+143
| | | | | | changed a while back and I'm just now updating to these new rules. In a nutshell, you've got to know you're emplacing to a pair and use one of pair's constructors. I made one extension: If you want to emplace the key and default construct the mapped_type, you can just emplace(key), as opposed to emplace(piecewise_construct, forward_as_tuple(key), forward_as_tuple()). llvm-svn: 157503
* As an extension, support incomplete types in the unordered containers to ↵Howard Hinnant2011-12-121-26/+70
| | | | | | match what we already do in the associative containers. llvm-svn: 146376
* Fix http://llvm.org/bugs/show_bug.cgi?id=11461. Credit Alberto Ganesh Barbati.Howard Hinnant2011-12-111-2/+10
| | | | llvm-svn: 146345
* Further macro protection by replacing _[A-Z] with _[A-Z]pHoward Hinnant2011-11-291-25/+25
| | | | llvm-svn: 145410
* Windows support by Ruben Van Boxem.Howard Hinnant2011-10-171-0/+2
| | | | llvm-svn: 142235
* Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574Howard Hinnant2011-08-121-0/+28
| | | | llvm-svn: 137522
* http://llvm.org/bugs/show_bug.cgi?id=10455Howard Hinnant2011-07-231-2/+2
| | | | llvm-svn: 135854
* Correct for new rules regarding implicitly deleted special members. ↵Howard Hinnant2011-07-011-2/+12
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=10191 llvm-svn: 134248
* _STD -> _VSTD to avoid macro clash on windowsHoward Hinnant2011-06-301-45/+45
| | | | llvm-svn: 134190
* More fixes: One of my fixes to type_traits earlier today was incorrect, so ↵Howard Hinnant2011-06-191-23/+23
| | | | | | that is reverted. Recently clang appears to have tightened up its definition of is_convertible and that has caused some failures in [unordered_][multi]map. I've switched to using is_constructible to restablish the desired functionality in [unordered_][multi]map. Specifically, inserting rvalues of move-only types for the keys. llvm-svn: 133402
* noexcept for <unordered_map>.Howard Hinnant2011-06-041-96/+173
| | | | llvm-svn: 132646
* Qualify calls to addressof with std::. Bug 9106Howard Hinnant2011-02-021-10/+10
| | | | llvm-svn: 124726
* license changeHoward Hinnant2010-11-161-2/+2
| | | | llvm-svn: 119395
* visibility-decoration sweep completed.Howard Hinnant2010-09-231-31/+171
| | | | llvm-svn: 114685
* Changed __config to react to all of clang's currently documented has_feature ↵Howard Hinnant2010-09-041-41/+69
| | | | | | flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature. llvm-svn: 113086
* Fixing whitespace problemsHoward Hinnant2010-08-221-24/+23
| | | | llvm-svn: 111750
* Wiped out some non-ascii characters that snuck into the copyright.Howard Hinnant2010-05-111-1/+1
| | | | llvm-svn: 103516
* libcxx initial importHoward Hinnant2010-05-111-0/+1511
llvm-svn: 103490
OpenPOWER on IntegriCloud