Implement P0504R0 (Revisiting in-place tag types for any/optional/variant). * include/std/any (any(_ValueType&& __value)): Constrain the __is_in_place_type with the decayed type. (make_any): Adjust to use the new tag type. * include/std/utility (in_place_tag): Remove. (in_place_t): Turn into a non-reference tag type. (__in_place, __in_place_type, __in_place_index): Remove. (in_place): Turn into an inline variable of non-reference tag type. (in_place<_Tp>): Remove. (in_place_index<_Idx>): Remove. (in_place_type_t): New. (in_place_type): Turn into a variable template of non-reference type. (in_place_index_t): New. (in_place_index): Turn into a variable template of non-reference type. * include/std/variant (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to use the new tag type. (_Union(in_place_index_t<0>, _Args&&...)): Likewise. (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise. (_Variant_base()): Likewise. (variant(_Tp&&)): Likewise. (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise. (variant(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)): Likewise. (variant(in_place_index_t<_Np>, _Args&&...)): Likewise. (variant(in_place_index_t<_Np>, initializer_list<_Up>, _Args&&...)): Likewise (variant(allocator_arg_t, const _Alloc&)): Likewise. (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise. (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>, _Args&&...)): Likewise. (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)): Likewise. (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>, _Args&&...)): Likewise. (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>, initializer_list<_Up>, _Args&&...)): Likewise. (emplace(_Args&&...)): Likewise. (emplace(initializer_list<_Up>, _Args&&...)): Likewise. * testsuite/20_util/any/cons/explicit.cc: Likewise. * testsuite/20_util/any/cons/in_place.cc: Likewise. * testsuite/20_util/any/requirements.cc: Add tests to check that any is not constructible from the new in_place_type_t of any value category. * testsuite/20_util/in_place/requirements.cc: Adjust to use the new tag type. * testsuite/20_util/variant/compile.cc: Likewise. * testsuite/20_util/variant/run.cc: Likewise. From-SVN: r242401
| Name |
Last commit
|
Last update |
|---|---|---|
| INSTALL | Loading commit data... | |
| boehm-gc | Loading commit data... | |
| config | Loading commit data... | |
| contrib | Loading commit data... | |
| fixincludes | Loading commit data... | |
| gcc | Loading commit data... | |
| gnattools | Loading commit data... | |
| gotools | Loading commit data... | |
| include | Loading commit data... | |
| intl | Loading commit data... | |
| libada | Loading commit data... | |
| libatomic | Loading commit data... | |
| libbacktrace | Loading commit data... | |
| libcc1 | Loading commit data... | |
| libcilkrts | Loading commit data... | |
| libcpp | Loading commit data... | |
| libdecnumber | Loading commit data... | |
| libffi | Loading commit data... | |
| libgcc | Loading commit data... | |
| libgfortran | Loading commit data... | |
| libgo | Loading commit data... | |
| libgomp | Loading commit data... | |
| libiberty | Loading commit data... | |
| libitm | Loading commit data... | |
| libmpx | Loading commit data... | |
| libobjc | Loading commit data... | |
| liboffloadmic | Loading commit data... | |
| libquadmath | Loading commit data... | |
| libsanitizer | Loading commit data... | |
| libssp | Loading commit data... | |
| libstdc++-v3 | Loading commit data... | |
| libvtv | Loading commit data... | |
| lto-plugin | Loading commit data... | |
| maintainer-scripts | Loading commit data... | |
| zlib | Loading commit data... | |
| .dir-locals.el | Loading commit data... | |
| .gitattributes | Loading commit data... | |
| .gitignore | Loading commit data... | |
| ABOUT-NLS | Loading commit data... | |
| COPYING | Loading commit data... | |
| COPYING.LIB | Loading commit data... | |
| COPYING.RUNTIME | Loading commit data... | |
| COPYING3 | Loading commit data... | |
| COPYING3.LIB | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog.jit | Loading commit data... | |
| ChangeLog.tree-ssa | Loading commit data... | |
| MAINTAINERS | Loading commit data... | |
| Makefile.def | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| Makefile.tpl | Loading commit data... | |
| README | Loading commit data... | |
| compile | Loading commit data... | |
| config-ml.in | Loading commit data... | |
| config.guess | Loading commit data... | |
| config.rpath | Loading commit data... | |
| config.sub | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| depcomp | Loading commit data... | |
| install-sh | Loading commit data... | |
| libtool-ldflags | Loading commit data... | |
| libtool.m4 | Loading commit data... | |
| ltgcc.m4 | Loading commit data... | |
| ltmain.sh | Loading commit data... | |
| ltoptions.m4 | Loading commit data... | |
| ltsugar.m4 | Loading commit data... | |
| ltversion.m4 | Loading commit data... | |
| lt~obsolete.m4 | Loading commit data... | |
| missing | Loading commit data... | |
| mkdep | Loading commit data... | |
| mkinstalldirs | Loading commit data... | |
| move-if-change | Loading commit data... | |
| symlink-tree | Loading commit data... | |
| ylwrap | Loading commit data... |