зеркало из https://github.com/mozilla/gecko-dev.git
34 строки
524 B
C++
34 строки
524 B
C++
namespace std {
|
|
template <typename _Tp>
|
|
struct remove_reference {
|
|
typedef _Tp type;
|
|
};
|
|
|
|
template <typename _Tp>
|
|
constexpr typename std::remove_reference<_Tp>::type &&move(_Tp &&__t) {
|
|
return static_cast<typename std::remove_reference<_Tp>::type &&>(__t);
|
|
}
|
|
} // namespace std
|
|
|
|
struct TriviallyCopyable {
|
|
int i;
|
|
};
|
|
|
|
class A {
|
|
public:
|
|
A() {}
|
|
A(const A &rhs) {}
|
|
A(A &&rhs) {}
|
|
};
|
|
|
|
void f(TriviallyCopyable) {}
|
|
|
|
void g() {
|
|
TriviallyCopyable obj;
|
|
f(std::move(obj));
|
|
}
|
|
|
|
A f5(const A x5) {
|
|
return std::move(x5);
|
|
}
|