Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / libstdc++-v3 / testsuite / ext / pb_assoc / example / hash_find_neg.cc
blob596c96960a0d0a5a55a773beedb522bc28684693
1 // { dg-do compile }
2 // -*- C++ -*-
4 // Copyright (C) 2005 Free Software Foundation, Inc.
5 //
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 2, or (at your option)
10 // any later version.
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING. If not, write to the Free
19 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
20 // USA.
22 // As a special exception, you may use this file as part of a free software
23 // library without restriction. Specifically, if other files instantiate
24 // templates or use macros or inline functions from this file, or you compile
25 // this file and link it with other files to produce an executable, this
26 // file does not by itself cause the resulting executable to be covered by
27 // the GNU General Public License. This exception does not however
28 // invalidate any other reasons why the executable file might be covered by
29 // the GNU General Public License.
31 // Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
33 // Permission to use, copy, modify, sell, and distribute this software
34 // is hereby granted without fee, provided that the above copyright
35 // notice appears in all copies, and that both that copyright notice and
36 // this permission notice appear in supporting documentation. None of
37 // the above authors, nor IBM Haifa Research Laboratories, make any
38 // representation about the suitability of this software for any
39 // purpose. It is provided "as is" without express or implied warranty.
41 /**
42 * @file bad_find_example.cpp
43 * A basic example showing how *not* to use unordered containers.
46 // For cc_hash_assoc_cntnr.
47 #include <ext/pb_assoc/assoc_cntnr.hpp>
48 // For pair.
49 #include <utility>
51 int
52 main()
55 * A collision-chaining hash table mapping ints to chars.
57 typedef pb_assoc::cc_hash_assoc_cntnr< int, char> map_t;
59 // An map_t object.
60 map_t h;
62 // Insert a value mapping the int 1 to the char 'a'.
63 h.insert(std::make_pair(1, 'a'));
66 * Find the entry of the key '1' the* wrong* way.
67 * The following line will not compile, since map_t::find
68 * returns a find_iterator, which, by design, is not convertible
69 * to map_t::iterator.
71 map_t::iterator it = h.find(1); // { dg-error "conversion from" }