|  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 |