]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/25_algorithms/set_intersection/34730.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 25_algorithms / set_intersection / 34730.cc
CommitLineData
f1717362 1// Copyright (C) 2008-2016 Free Software Foundation, Inc.
eb256643 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
6bc9506f 6// Free Software Foundation; either version 3, or (at your option)
eb256643 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
6bc9506f 15// with this library; see the file COPYING3. If not see
16// <http://www.gnu.org/licenses/>.
eb256643 17
9c0bda5a 18// NB: This issue affected only debug-mode.
19
eb256643 20// { dg-do compile }
21
22// libstdc++/34730
23
24#include <string>
25#include <vector>
26#include <algorithm>
27
28using namespace std;
29
30typedef pair<int, string> intstring;
31
32struct intstrcmp
33{
34 bool
35 operator()(const string& x, const intstring& y) const
36 { return x < y.second; }
37
38 bool
39 operator()(const intstring& x, const string& y) const
40 { return x.second < y; }
41};
42
43void test01()
44{
45 vector<string> vec1;
46 vector<intstring> vec2;
47 vector<intstring> vec3;
48 set_intersection(vec2.begin(), vec2.end(),
49 vec1.begin(), vec1.end(),
50 back_inserter(vec3), intstrcmp());
51}