You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Summary: Currently `std::variant` always uses an unsigned int to store the variant index. However this isn't nessesary and causes `std::variant` to be larger than it needs to be in most cases. This patch changes the index type to be `unsigned char` when possible, and `unsigned short` or `unsigned int` otherwise, depending on the size (Although it's questionable if it's even possible to create a variant with 65535 elements. Unfortunately this change is an ABI break, and as such is only enabled in ABI v2. Reviewers: mpark Reviewed By: mpark Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D40210 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318621 91177308-0d34-0410-b5e6-96231b3b80d8 |
8 years ago | |
|---|---|---|
| .. | ||
| any | 9 years ago | |
| function.objects | 9 years ago | |
| memory | 8 years ago | |
| meta | 9 years ago | |
| optional | 9 years ago | |
| ratio | 10 years ago | |
| template.bitset | 9 years ago | |
| time | 10 years ago | |
| tuple | 8 years ago | |
| type.index | 10 years ago | |
| utility | 9 years ago | |
| variant | 8 years ago | |