aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorVille Voutilainen <ville.voutilainen@gmail.com>2019-04-01 16:57:41 +0300
committerVille Voutilainen <ville@gcc.gnu.org>2019-04-01 16:57:41 +0300
commitf1ba6c5a51936ac9065789b1fdb77f4e35f90efd (patch)
tree7c62957207e8e4e859e378353dc277ddb6d8ef9d /gcc
parente37240b0b556c2bcdf94b0a84ff798cd4bd5a316 (diff)
downloadgcc-f1ba6c5a51936ac9065789b1fdb77f4e35f90efd.zip
gcc-f1ba6c5a51936ac9065789b1fdb77f4e35f90efd.tar.gz
gcc-f1ba6c5a51936ac9065789b1fdb77f4e35f90efd.tar.bz2
Use single-visitation in variant assignment and swap and relops.
Also use indices instead of types when checking whether variants hold the same thing. * include/std/variant (__do_visit): Add a template parameter for index visitation, invoke with indices if index visitation is used. (__variant_idx_cookie): New. (__visit_with_index): Likewise. (_Copy_assign_base::operator=): Do single-visitation with an index visitor. (_Move_assign_base::operator=): Likewise. (_Extra_visit_slot_needed): Adjust. (__visit_invoke): Call with indices if it's an index visitor. (relops): Do single-visitation with an index visitor. (swap): Likewise. (__visitor_result_type): New. From-SVN: r270056
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions