You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
libcxx_old/test/std/utilities/utility/forward
Eric Fiselier 3f10018902 Make move and forward work in C++03.
These functions are key to allowing the use of rvalues and variadics
in C++03 mode. Everything works the same as in C++11, except for one
tangentially related case:

struct T {
  T(T &&) = default;
};

In C++11, T has a deleted copy constructor. But in C++03 Clang gives
it both a move and a copy constructor. This seems reasonable enough
given the extensions it's using.

The other changes in this patch were the minimal set required
to keep the tests passing after the move/forward change. Most notably
the removal of the `__rv<unique_ptr>` hack that was present
in an attempt to make unique_ptr move only without language support.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@364063 91177308-0d34-0410-b5e6-96231b3b80d8
6 years ago
..
forward.fail.cpp Make move and forward work in C++03. 6 years ago
forward.pass.cpp Make move and forward work in C++03. 6 years ago
move.fail.cpp Make move and forward work in C++03. 6 years ago
move.pass.cpp Make move and forward work in C++03. 6 years ago
move_if_noexcept.pass.cpp Make move and forward work in C++03. 6 years ago