summaryrefslogtreecommitdiffstats
path: root/libcxx/include/__split_buffer
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup: move visibility/linkage attributes to the first declaration.Evgeniy Stepanov2015-11-071-5/+10
| | | | | | | | | | | | This change moves visibility attributes from out-of-class method definitions to in-class declaration. This is needed for a switch to attribute((internal_linkage)) (see http://reviews.llvm.org/D13925) which can only appear on the first declaration. This change does not touch istream/ostream/streambuf. They are handled separately in http://reviews.llvm.org/D14409. llvm-svn: 252385
* Implement the first part of N4258: 'Cleaning up noexcept in the Library'. ↵Marshall Clow2015-07-131-20/+1
| | | | | | This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates. llvm-svn: 242056
* G M: Changes all references to "x inline" to "inline x" where x = ↵Howard Hinnant2013-10-041-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | _libcpp_always_inline or _libcpp_inline_visibility macros. The patch touches these files: locale array deque new string utility vector __bit_reference __split_buffer locale_win32.h There is no intended functionality change and it is expected that reversing the position of the inline keyword with regard to the other keywords does not change the meaning of anything, least not for apple/Linux etc. It is intended to make libcxx more consistent with itself and to prevent the 1000 or so "inline.cpp(3) : warning C4141: 'inline' : used more than once" warnings that MS's cl.exe compiler emits without this patch, i.e. if inline is not the first keyword before a function name etc. Prefer "inline [other inline related keyword]" over "[other related keyword] inline". After this patch, libcxx should be consistent to this pattern. llvm-svn: 191987
* Implement full support for non-pointer pointers in custom allocators for deque.Howard Hinnant2013-06-231-6/+6
| | | | llvm-svn: 184673
* Revert accidental check-in. These changes are probably good, but premature ↵Howard Hinnant2013-02-071-2/+2
| | | | | | at this point. llvm-svn: 174625
* Michael van der Westhuizen: The attached patch add support for building ↵Howard Hinnant2013-02-071-2/+2
| | | | | | | | | | | against libc++abi and libcxxrt to CMake builds of libc++. Usage (with the appropriate CC and CXX environment variables) is: $ cmake -DLIBCXX_CXX_ABI=libcxxabi '-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/home/michael/libcxxabi/include' ../libcxx and: $ cmake -DLIBCXX_CXX_ABI=libcxxrt '-DLIBCXX_LIBCXXRT_INCLUDE_PATHS=/home/michael/libcxxrt/src' ../libcxx llvm-svn: 174623
* Implement a few optimizations for vector push_back and insert. Fixes r10828365.Howard Hinnant2012-02-151-4/+6
| | | | llvm-svn: 150542
* Quash a whole bunch of warningsHoward Hinnant2011-12-011-7/+7
| | | | llvm-svn: 145624
* Further macro protection by replacing _[A-Z] with _[A-Z]pHoward Hinnant2011-11-291-2/+2
| | | | llvm-svn: 145410
* Add protection from min/max macrosHoward Hinnant2011-11-291-0/+2
| | | | llvm-svn: 145407
* Windows support by Ruben Van Boxem.Howard Hinnant2011-10-171-0/+2
| | | | llvm-svn: 142235
* Fix const correctness bug in __move_assign. Found and fixed by Ion Gaztañaga.Howard Hinnant2011-09-021-2/+2
| | | | llvm-svn: 139032
* __split_buffer should only require default constructible. Bug found and ↵Howard Hinnant2011-08-281-1/+1
| | | | | | fixed by Jared Hoberock llvm-svn: 138726
* _STD -> _VSTD to avoid macro clash on windowsHoward Hinnant2011-06-301-57/+57
| | | | llvm-svn: 134190
* After sleeping on it I've decided that all special members that can be ↵Howard Hinnant2011-06-031-1/+3
| | | | | | noexcept, should be declared so. The client has the traits to detect and branch on this information, and it is often an important optimization. Give deque() a noexcept. Add test for deque default constructor and deque destructor. llvm-svn: 132549
* I've become quite disatsified with the lack of noexcept specifications on ↵Howard Hinnant2011-06-021-21/+50
| | | | | | container move construction, move assignment operator and swap. Without proper decoration on at least move construction, vectors of containers will have unacceptable performance. Here's the fix for deque. llvm-svn: 132480
* Reverting an old optimization that conflicts with the new allocator model, ↵Howard Hinnant2011-01-041-39/+0
| | | | | | and causes some test casees to compile that shouldn't. llvm-svn: 122830
* Add CMake build and fix major Linux blockers.Michael J. Spencer2010-12-101-2/+4
| | | | llvm-svn: 121510
* N3142. Many of these traits are just placeholders with medium quality ↵Howard Hinnant2010-11-191-4/+4
| | | | | | emulation; waiting on compiler intrinsics to do it right. llvm-svn: 119854
* visibility-decoration.Howard Hinnant2010-09-211-0/+6
| | | | llvm-svn: 114470
* Changed __config to react to all of clang's currently documented has_feature ↵Howard Hinnant2010-09-041-10/+14
| | | | | | 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-8/+8
| | | | llvm-svn: 111750
* First loop test passed. The data structure and search algorithm is still ↵Howard Hinnant2010-07-071-3/+3
| | | | | | crude and in-flux. But this milestone needed to be locked in. Right now every loop is implemented in terms of a structure that will handle the most complicated {min, max} loop. Though only *-loops are tested at the moment. In a future iteration *-loops will likely be optimized a little more. The only tests are for basic posix so far, but I have prototype code running for extended posix and ecma. The prototype code lacks the complicating properties of the real <regex> requirements though. llvm-svn: 107803
* [rand.dist.bern.bin]. The evaluation function for this binomial ↵Howard Hinnant2010-05-111-2/+0
| | | | | | distribution is hopefully just a placeholder. It is using the simplest and slowest method for computing the distribution and needs to be upgraded. llvm-svn: 103524
* libcxx initial importHoward Hinnant2010-05-111-0/+646
llvm-svn: 103490
OpenPOWER on IntegriCloud