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 |