1// Copyright (C) 2009 Free Software Foundation, Inc. 2// 3// This file is part of the GNU ISO C++ Library. This library is free 4// software; you can redistribute it and/or modify it under the 5// terms of the GNU General Public License as published by the 6// Free Software Foundation; either version 3, or (at your option) 7// any later version. 8 9// This library is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12// GNU General Public License for more details. 13 14// You should have received a copy of the GNU General Public License along 15// with this library; see the file COPYING3. If not see 16// <http://www.gnu.org/licenses/>. 17 18// NOTE: This makes use of the fact that we know how moveable 19// is implemented on list (via swap). If the implementation changed 20// this test may begin to fail. 21 22#include <utility> 23#include <testsuite_hooks.h> 24 25template<typename _Tp> 26 void 27 test_moveable() 28 { 29 bool test __attribute__((unused)) = true; 30 31 typedef _Tp list_type; 32 33 list_type a,b; 34 a.push_back(1); 35 b = std::move(a); 36 VERIFY( b.size() == 1 && *b.begin() == 1 && a.size() == 0 ); 37 38 list_type c(std::move(b)); 39 VERIFY( c.size() == 1 && *c.begin() == 1 ); 40 VERIFY( b.size() == 0 ); 41 } 42