[PATCH] D19247: Deprecate C++03 <functional> Extensions: std::function, std::mem_fn and more
Eric Fiselier via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 18 17:04:17 PDT 2016
EricWF created this revision.
EricWF added a reviewer: mclow.lists.
EricWF added a subscriber: cfe-commits.
This patch deprecates almost all C++03 extensions offered by <functional>. These extensions started as fallback implementations for compilers without variadic template support.
Since compiler support is no longer an issue I would like to remove these features. The end goal is to remove both `<__functional_03>` and `<__functional_base_03>` entirely.
The features this patch deprecates are:
* `std::function`
* `std::mem_fn`
* `std::reference_wrapper::operator()`
Although `reference_wrapper` is C++11 only I chose to only deprecate the variadic call operator. The rest of the class will remain as an extension.
Killing these features allows us to kill the C++03 implementation of INVOKE and it's related traits, which have a poor QoI with a large maintenance burden.
http://reviews.llvm.org/D19247
Files:
include/__config
include/__functional_03
include/__functional_base
include/functional
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19247.54139.patch
Type: text/x-patch
Size: 9177 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160419/e1464c9c/attachment.bin>
More information about the cfe-commits
mailing list