Implement <variant>
authorTim Shen <timshen@google.com>
Thu, 18 Aug 2016 20:31:26 +0000 (20:31 +0000)
committerTim Shen <timshen@gcc.gnu.org>
Thu, 18 Aug 2016 20:31:26 +0000 (20:31 +0000)
commit197c757cb11681a6ff6df1491ebfde4f5a392627
treebc774dd64d1e9187c477c6aa386748350ca8e8d1
parentcc015f3abebcfe84c64a38d1198ad4601e36893c
Implement <variant>

* include/Makefile.am: Add new file std/variant.
* include/Makefile.in: Generated from Makefile.am.
* include/bits/enable_special_members.h: Add a tag type to allow
the construction in non-default constructor.
* include/bits/uses_allocator.h: Add convenience traits to
detect constructibility.
* include/std/variant: Implement <variant>.
* testsuite/20_util/variant/compile.cc: Compile-time tests.
* testsuite/20_util/variant/run.cc: Runtime tests.

From-SVN: r239590
libstdc++-v3/ChangeLog
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/enable_special_members.h
libstdc++-v3/include/bits/uses_allocator.h
libstdc++-v3/include/std/variant [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/variant/compile.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/variant/run.cc [new file with mode: 0644]