llvm-project/libcxx/include/experimental
Eric Fiselier c1d527d3d8 Fix PR30260 - optional<const T> not working.
This patch fixes PR30260 by using a (void*) cast on the placement argument
to placement new to casts away the const. See also http://llvm.org/PR30260.

As a drive by change this patch also changes the header guard for
<experimental/optional> to _LIBCPP_EXPERIMENTAL_OPTIONAL from _LIBCPP_OPTIONAL.

llvm-svn: 280775
2016-09-07 01:56:07 +00:00
..
__config Implement std::experimental::propagate_const from LFTS v2 2016-06-19 19:34:13 +00:00
__memory Add <experimental/memory_resource> 2016-05-07 01:04:55 +00:00
algorithm Implement C++17 std::sample. 2016-08-28 22:14:37 +00:00
any Remove duplicate inline 2016-08-25 15:56:55 +00:00
chrono Define a new macro: _LIBCPP_HAS_NO_VARIABLE_TEMPLATES and use it. No functionality change. 2015-03-17 15:30:22 +00:00
deque Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
dynarray Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception 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. 2016-08-25 15:09:01 +00:00
filesystem Implement LWG 2711. Constrain path members. 2016-08-28 21:26:01 +00:00
forward_list Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
functional Implement P0253R1: Fixing a design mistake in the searchers interface. 2016-03-08 15:12:52 +00:00
iterator Left a file out of r259014 2016-01-28 04:15:35 +00:00
list Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
map Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
memory_resource Followon to r279744. Find the other exception types and make __throw_XXX routines (and call them). Remove the generic __libcpp_throw routine, since no one uses it anymore. 2016-08-25 17:47:09 +00:00
numeric Implement LCM and GCD for Library Fundamentals. Reviewed as https://reviews.llvm.org/D21343. 2016-07-26 14:28:34 +00:00
optional Fix PR30260 - optional<const T> not working. 2016-09-07 01:56:07 +00:00
propagate_const Implement std::experimental::propagate_const from LFTS v2 2016-06-19 19:34:13 +00:00
ratio Fixed an 'extra tokens at end of #endif directive' warning in experimental/ratio 2015-04-23 16:45:08 +00:00
regex Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
set Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
string Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
string_view Followon to r279744. Find the other exception types and make __throw_XXX routines (and call them). Remove the generic __libcpp_throw routine, since no one uses it anymore. 2016-08-25 17:47:09 +00:00
system_error Define a new macro: _LIBCPP_HAS_NO_VARIABLE_TEMPLATES and use it. No functionality change. 2015-03-17 15:30:22 +00:00
tuple Add 'is_callable' and 'is_nothrow_callable' traits and cleanup INVOKE. 2016-04-20 00:14:32 +00:00
type_traits Define a new macro: _LIBCPP_HAS_NO_VARIABLE_TEMPLATES and use it. No functionality change. 2015-03-17 15:30:22 +00:00
unordered_map Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
unordered_set Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
utility Add pragma system header to some experimental headers and add newlines to files. 2015-02-10 17:32:49 +00:00
vector Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00