Marshall Clow
|
a3e6e2b286
|
Rename several internal templates to get rid of ___ (triple underscores) or worse, four. No functionality change.
llvm-svn: 198608
|
2014-01-06 14:00:09 +00:00 |
Marshall Clow
|
3d5134dd52
|
Implement n3789; constexpr support in named function objects
llvm-svn: 191626
|
2013-09-28 19:06:12 +00:00 |
Marshall Clow
|
50c003b577
|
Implement uses-allocator construction
llvm-svn: 190571
|
2013-09-12 02:11:16 +00:00 |
Marshall Clow
|
25d3402c6a
|
First half of support for N3657; heterogenous lookups for set/multiset
llvm-svn: 188241
|
2013-08-13 01:11:06 +00:00 |
Howard Hinnant
|
f0544c2086
|
Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>.
llvm-svn: 188192
|
2013-08-12 18:38:34 +00:00 |
Howard Hinnant
|
8c9742051d
|
My previous reorganization of addressof broke -std=c++03. Thanks much to Arnold Schwaighofer for catching this. This patch also catches a few more missing addressof in <future>, thanks go to Zhihao Yuan for catching these.
llvm-svn: 187997
|
2013-08-08 18:38:55 +00:00 |
Arnold Schwaighofer
|
5331e3a481
|
Revert r187927.
Zhihao Yuan: Replace operator& with addressof in reference_wrapper constructor.
It breaks a clang bootstrap.
llvm-svn: 187959
|
2013-08-08 03:06:24 +00:00 |
Howard Hinnant
|
9027f5e3de
|
Zhihao Yuan: Replace operator& with addressof in reference_wrapper constructor.
llvm-svn: 187927
|
2013-08-07 23:02:42 +00:00 |
Marshall Clow
|
83c08b4497
|
Implement N3421; comparison predicates<void>
llvm-svn: 187357
|
2013-07-29 14:21:53 +00:00 |
Howard Hinnant
|
866ed94db1
|
Constrain __invoke functions more accurately. This fixes http://llvm.org/bugs/show_bug.cgi?id=15861 .
llvm-svn: 181377
|
2013-05-07 23:40:12 +00:00 |
Howard Hinnant
|
6e41256f68
|
No functionality change at this time. I've split _LIBCPP_VISIBLE up into 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
|
2013-03-06 23:30:19 +00:00 |
Howard Hinnant
|
54d333a601
|
Rename uses of _ and __ because these are getting stepped on by macros from other system code.
llvm-svn: 167038
|
2012-10-30 19:06:59 +00:00 |
Howard Hinnant
|
67f3964766
|
Modernize relational operators for shared_ptr and unique_ptr. This includes adding support for nullptr, and using less<T*>. Fixes http://llvm.org/bugs/show_bug.cgi?id=12056.
llvm-svn: 151084
|
2012-02-21 21:02:58 +00:00 |
Howard Hinnant
|
c206366fd7
|
Quash a whole bunch of warnings
llvm-svn: 145624
|
2011-12-01 20:21:04 +00:00 |
Howard Hinnant
|
c003db1fca
|
Further macro protection by replacing _[A-Z] with _[A-Z]p
llvm-svn: 145410
|
2011-11-29 18:15:50 +00:00 |
Howard Hinnant
|
073458b1ab
|
Windows support by Ruben Van Boxem.
llvm-svn: 142235
|
2011-10-17 20:05:10 +00:00 |
Howard Hinnant
|
ce48a1137d
|
_STD -> _VSTD to avoid macro clash on windows
llvm-svn: 134190
|
2011-06-30 21:18:19 +00:00 |
Howard Hinnant
|
6a07d6f06d
|
noexcept for <functional>.
llvm-svn: 132264
|
2011-05-28 17:59:48 +00:00 |
Howard Hinnant
|
6282a4a1d3
|
This is a simplified (and superior) implementation of __invoke, __invokable and __invoke_of. It is superior in that __invoke now handles reference qualified member functions whereas the previous implementation did not. And it simply has less infrastructure in its implementation. I'm still learning how to program in C++11 (and probably will be for a long time). This change does not impact the behavior we're seeing in http://llvm.org/bugs/show_bug.cgi?id=9975
llvm-svn: 131761
|
2011-05-20 22:02:53 +00:00 |
Howard Hinnant
|
ec0810e1c8
|
I had a giant misunderstanding of what 'synchronizes with' meant in [futures.async]/p5. This invalidated the current design of async in <future>. This is a new design, based on my new understanding, which has been confirmed on the lwg mailing list. The summary is that ~future() (and ~shared_future()) will block when they are created from within async, and the thread hasn't finished yet. As part of this work I created two new type traits: __invokable<F, Args...>::value and __invoke_of<F, Args...>::type. These are what result_of<F(Args...)> wanted to be when it grew up, but never will be. __invoke_of is carefully crafted so that it can serve as its own enable_if (type doesn't exist if the signature isn't invokable). All of this work is C++11 only.
llvm-svn: 131639
|
2011-05-19 15:05:04 +00:00 |
Howard Hinnant
|
23fdcd70c6
|
Spit 5th bullet __invoke into function pointers and everything else because result_of doesn't deal with function pointers.
llvm-svn: 131409
|
2011-05-16 16:20:21 +00:00 |
Howard Hinnant
|
412dbebe1b
|
license change
llvm-svn: 119395
|
2010-11-16 22:09:02 +00:00 |
Howard Hinnant
|
43d9923860
|
visibility-decoration.
llvm-svn: 114451
|
2010-09-21 17:32:39 +00:00 |
Howard Hinnant
|
42daac442b
|
Fix const bug in function
llvm-svn: 113684
|
2010-09-11 15:09:37 +00:00 |
Howard Hinnant
|
7609c9b665
|
Changed __config to react to all of clang's currently documented has_feature 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
|
2010-09-04 23:28:19 +00:00 |
Howard Hinnant
|
b3371f6f49
|
Fixing whitespace problems
llvm-svn: 111750
|
2010-08-22 00:02:43 +00:00 |
Howard Hinnant
|
5b08a8a432
|
Wiped out some non-ascii characters that snuck into the copyright.
llvm-svn: 103516
|
2010-05-11 21:36:01 +00:00 |
Howard Hinnant
|
3e519524c1
|
libcxx initial import
llvm-svn: 103490
|
2010-05-11 19:42:16 +00:00 |