00001 // Backward-compat support -*- C++ -*- 00002 00003 // Copyright (C) 2001 Free Software Foundation, Inc. 00004 // 00005 // This file is part of the GNU ISO C++ Library. This library is free 00006 // software; you can redistribute it and/or modify it under the 00007 // terms of the GNU General Public License as published by the 00008 // Free Software Foundation; either version 2, or (at your option) 00009 // any later version. 00010 00011 // This library is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 00016 // You should have received a copy of the GNU General Public License along 00017 // with this library; see the file COPYING. If not, write to the Free 00018 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00019 // USA. 00020 00021 // As a special exception, you may use this file as part of a free software 00022 // library without restriction. Specifically, if other files instantiate 00023 // templates or use macros or inline functions from this file, or you compile 00024 // this file and link it with other files to produce an executable, this 00025 // file does not by itself cause the resulting executable to be covered by 00026 // the GNU General Public License. This exception does not however 00027 // invalidate any other reasons why the executable file might be covered by 00028 // the GNU General Public License. 00029 00030 /* 00031 * 00032 * Copyright (c) 1994 00033 * Hewlett-Packard Company 00034 * 00035 * Permission to use, copy, modify, distribute and sell this software 00036 * and its documentation for any purpose is hereby granted without fee, 00037 * provided that the above copyright notice appear in all copies and 00038 * that both that copyright notice and this permission notice appear 00039 * in supporting documentation. Hewlett-Packard Company makes no 00040 * representations about the suitability of this software for any 00041 * purpose. It is provided "as is" without express or implied warranty. 00042 * 00043 * 00044 * Copyright (c) 1996,1997 00045 * Silicon Graphics Computer Systems, Inc. 00046 * 00047 * Permission to use, copy, modify, distribute and sell this software 00048 * and its documentation for any purpose is hereby granted without fee, 00049 * provided that the above copyright notice appear in all copies and 00050 * that both that copyright notice and this permission notice appear 00051 * in supporting documentation. Silicon Graphics makes no 00052 * representations about the suitability of this software for any 00053 * purpose. It is provided "as is" without express or implied warranty. 00054 */ 00055 00056 #ifndef _BACKWARD_ALGO_H 00057 #define _BACKWARD_ALGO_H 1 00058 00059 #include "backward_warning.h" 00060 #include "algobase.h" 00061 #include "tempbuf.h" 00062 #include "iterator.h" 00063 #include <bits/stl_algo.h> 00064 #include <bits/stl_numeric.h> 00065 #include <ext/algorithm> 00066 #include <ext/numeric> 00067 00068 // Names from <stl_algo.h> 00069 using std::for_each; 00070 using std::find; 00071 using std::find_if; 00072 using std::adjacent_find; 00073 using std::count; 00074 using std::count_if; 00075 using std::search; 00076 using std::search_n; 00077 using std::swap_ranges; 00078 using std::transform; 00079 using std::replace; 00080 using std::replace_if; 00081 using std::replace_copy; 00082 using std::replace_copy_if; 00083 using std::generate; 00084 using std::generate_n; 00085 using std::remove; 00086 using std::remove_if; 00087 using std::remove_copy; 00088 using std::remove_copy_if; 00089 using std::unique; 00090 using std::unique_copy; 00091 using std::reverse; 00092 using std::reverse_copy; 00093 using std::rotate; 00094 using std::rotate_copy; 00095 using std::random_shuffle; 00096 using std::partition; 00097 using std::stable_partition; 00098 using std::sort; 00099 using std::stable_sort; 00100 using std::partial_sort; 00101 using std::partial_sort_copy; 00102 using std::nth_element; 00103 using std::lower_bound; 00104 using std::upper_bound; 00105 using std::equal_range; 00106 using std::binary_search; 00107 using std::merge; 00108 using std::inplace_merge; 00109 using std::includes; 00110 using std::set_union; 00111 using std::set_intersection; 00112 using std::set_difference; 00113 using std::set_symmetric_difference; 00114 using std::min_element; 00115 using std::max_element; 00116 using std::next_permutation; 00117 using std::prev_permutation; 00118 using std::find_first_of; 00119 using std::find_end; 00120 00121 // Names from stl_heap.h 00122 using std::push_heap; 00123 using std::pop_heap; 00124 using std::make_heap; 00125 using std::sort_heap; 00126 00127 // Names from stl_numeric.h 00128 using std::accumulate; 00129 using std::inner_product; 00130 using std::partial_sum; 00131 using std::adjacent_difference; 00132 00133 // Names from ext/algorithm 00134 using __gnu_cxx::random_sample; 00135 using __gnu_cxx::random_sample_n; 00136 using __gnu_cxx::is_sorted; 00137 using __gnu_cxx::is_heap; 00138 using __gnu_cxx::count; // Extension returning void 00139 using __gnu_cxx::count_if; // Extension returning void 00140 00141 // Names from ext/numeric 00142 using __gnu_cxx::power; 00143 using __gnu_cxx::iota; 00144 00145 #endif /* _BACKWARD_ALGO_H */ 00146 00147 // Local Variables: 00148 // mode:C++ 00149 // End: