Implement std::optional.
authorVille Voutilainen <ville.voutilainen@gmail.com>
Sun, 10 Jul 2016 17:44:21 +0000 (20:44 +0300)
committerVille Voutilainen <ville@gcc.gnu.org>
Sun, 10 Jul 2016 17:44:21 +0000 (20:44 +0300)
commit435e56fb5289d72bfe12068aac72e76c02bb3b3c
tree64dd0d62997931dd97fe242886c372cdbbc81b5b
parent290583564dcc1d4ecd8e417a15933bc6b302f068
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.

From-SVN: r238197
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]