summaryrefslogtreecommitdiffstats
path: root/libcxx/include/array
Commit message (Collapse)AuthorAgeFilesLines
* Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception ↵Marshall Clow2016-08-251-13/+3
| | | | | | type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these functions everywhere instead of assert()ing when exceptions are disabled. WARNING: This is a behavior change - but only with exceptions disabled. Reviewed as: https://reviews.llvm.org/D23855. llvm-svn: 279744
* Add is_swappable/is_nothrow_swappable traitsEric Fiselier2016-04-211-4/+12
| | | | llvm-svn: 267079
* non-member swap for array was mistakenly taking const ref params. Fixed and ↵Marshall Clow2016-03-071-1/+1
| | | | | | added test. Thanks to Ben Craig for the catch llvm-svn: 262866
* [libcxx] LWG2485: get() should be overloaded for const tuple&&. Patch from ↵Eric Fiselier2015-12-181-0/+10
| | | | | | | K-Ballo. Review: http://reviews.llvm.org/D14839 llvm-svn: 255941
* Fix some mistakes in the <array> synopsis. No functional change. Thanks to ↵Marshall Clow2015-11-191-5/+5
| | | | | | K-ballo for the patch llvm-svn: 253592
* [libcxx] Move tuple_size and tuple_element overloads for pair and array out ↵Eric Fiselier2015-03-171-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of !defined(_LIBCPP_HAS_NO_VARIADICS) block. Summary: There is no reason to guard `tuple_size`, `tuple_element` and `get<I>(...)` for pair and array inside of `<__tuple>` so that they are only available when we have variadic templates. This requires there be redundant declarations and definitions. It also makes it easy to get things wrong. For example the following code should compile (and does in c++11). ``` #define _LIBCPP_HAS_NO_VARIADICS #include <array> int main() { static_assert((std::tuple_size<std::array<int, 10> volatile>::value == 10), ""); } ``` This patch lifts the non-variadic parts of `tuple_size`, `tuple_types`, and `get<I>(...)` to the top of `<__tuple>` where they don't require variadic templates. This patch also removes `<__tuple_03>` because there is no longer a need for it. Reviewers: danalbert, K-ballo, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7774 llvm-svn: 232492
* G M: Changes all references to "x inline" to "inline x" where x = ↵Howard Hinnant2013-10-041-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | _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
* Nico Rieck: this patch series fixes visibility issues on Windows as ↵Howard Hinnant2013-08-121-5/+5
| | | | | | explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. llvm-svn: 188192
* Make std::get constexprMarshall Clow2013-07-171-17/+18
| | | | llvm-svn: 186525
* No functionality change at this time. I've split _LIBCPP_VISIBLE up into ↵Howard Hinnant2013-03-061-5/+5
| | | | | | 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
* Added static_assert to std::get<N>(std::array) calls to catch "out of ↵Marshall Clow2012-12-181-0/+3
| | | | | | bounds" calls llvm-svn: 170435
* constexpr applied to <array>.Howard Hinnant2012-07-201-4/+4
| | | | llvm-svn: 160564
* Windows support by Ruben Van Boxem.Howard Hinnant2011-10-171-0/+2
| | | | llvm-svn: 142235
* _STD -> _VSTD to avoid macro clash on windowsHoward Hinnant2011-06-301-5/+5
| | | | llvm-svn: 134190
* Experimental support for a meaningful __is_swappable<T>::value. This does ↵Howard Hinnant2011-06-011-1/+5
| | | | | | not appear to be strictly needed for correct functioning of the library. If it causes any problems, I'd rather pull it sooner rather than later. llvm-svn: 132421
* noexcept for <array>.Howard Hinnant2011-05-311-45/+64
| | | | llvm-svn: 132359
* LWG 1191Howard Hinnant2010-11-171-0/+13
| | | | llvm-svn: 119545
* license changeHoward Hinnant2010-11-161-2/+2
| | | | llvm-svn: 119395
* visibility-decoration.Howard Hinnant2010-09-211-7/+11
| | | | llvm-svn: 114470
* Fixing whitespace problemsHoward Hinnant2010-08-221-90/+90
| | | | 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/+296
llvm-svn: 103490
OpenPOWER on IntegriCloud