]> 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
818ab71a 1// Copyright (C) 2008-2016 Free Software Foundation, Inc.
a4c07f2d
PC
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
748086b7 6// Free Software Foundation; either version 3, or (at your option)
a4c07f2d
PC
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
748086b7
JJ
15// with this library; see the file COPYING3. If not see
16// <http://www.gnu.org/licenses/>.
a4c07f2d 17
ab1c1187
PC
18// NB: This issue affected only debug-mode.
19
a4c07f2d
PC
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}