Implement std::optional.
commitde4fa746271d39d490b59bdfbbdd2cf5b54c0521
authorville <ville@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Jul 2016 17:44:21 +0000 (10 17:44 +0000)
committerville <ville@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Jul 2016 17:44:21 +0000 (10 17:44 +0000)
tree64dd0d62997931dd97fe242886c372cdbbc81b5b
parentf529d395184700e2404f4a293a2198355ab7ded5
Implement std::optional.
* include/Makefile.am: Add optional to exported headers.
* include/Makefile.in: Likewise.
* include/std/optional: New.
* testsuite/20_util/optional/typedefs.cc: Likewise.
* testsuite/20_util/optional/relops/2.cc: Likewise.
* testsuite/20_util/optional/relops/3.cc: Likewise.
* testsuite/20_util/optional/relops/4.cc: Likewise.
* testsuite/20_util/optional/relops/5.cc: Likewise.
* testsuite/20_util/optional/relops/1.cc: Likewise.
* testsuite/20_util/optional/relops/6.cc: Likewise.
* testsuite/20_util/optional/nullopt.cc: Likewise.
* testsuite/20_util/optional/in_place.cc: Likewise.
* testsuite/20_util/optional/make_optional.cc: Likewise.
* testsuite/20_util/optional/assignment/2.cc: Likewise.
* testsuite/20_util/optional/assignment/3.cc: Likewise.
* testsuite/20_util/optional/assignment/4.cc: Likewise.
* testsuite/20_util/optional/assignment/5.cc: Likewise.
* testsuite/20_util/optional/assignment/1.cc: Likewise.
* testsuite/20_util/optional/assignment/6.cc: Likewise.
* testsuite/20_util/optional/cons/value_neg.cc: Likewise.
* testsuite/20_util/optional/cons/default.cc: Likewise.
* testsuite/20_util/optional/cons/move.cc: Likewise.
* testsuite/20_util/optional/cons/value.cc: Likewise.
* testsuite/20_util/optional/cons/copy.cc: Likewise.
* testsuite/20_util/optional/requirements.cc: Likewise.
* testsuite/20_util/optional/observers/2.cc: Likewise.
* testsuite/20_util/optional/observers/3.cc: Likewise.
* testsuite/20_util/optional/observers/4.cc: Likewise.
* testsuite/20_util/optional/observers/5.cc: Likewise.
* testsuite/20_util/optional/observers/1.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
* testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
* testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
* testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
* testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
* testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
* testsuite/20_util/optional/swap/1.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238197 138bc75d-0d04-0410-961f-82ee72b054a4
48 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/std/optional [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/assignment/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/assignment/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/assignment/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/assignment/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/assignment/5.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/assignment/6.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/cons/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/cons/move.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/cons/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/cons/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/in_place.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/make_optional.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/nullopt.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/observers/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/observers/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/observers/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/observers/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/observers/5.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/relops/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/relops/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/relops/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/relops/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/relops/5.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/constexpr/relops/6.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/in_place.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/make_optional.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/nullopt.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/observers/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/observers/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/observers/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/observers/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/observers/5.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/relops/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/relops/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/relops/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/relops/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/relops/5.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/relops/6.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/requirements.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/swap/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/optional/typedefs.cc [new file with mode: 0644]