bits/algorithmfwd.h

Go to the documentation of this file.
00001 // <algorithm> declarations  -*- C++ -*-
00002 
00003 // Copyright (C) 2007, 2008 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
00019 // USA.
00020 
00021 /** @file bits/algorithmfwd.h
00022  *  This is an internal header file, included by other library headers.
00023  *  You should not attempt to use it directly.
00024  */
00025 
00026 /*
00027   adjacent_find
00028   all_of (C++0x)
00029   any_of (C++0x)
00030   binary_search
00031   copy
00032   copy_backward
00033   copy_if (C++0x)
00034   copy_n (C++0x)
00035   count
00036   count_if
00037   equal
00038   equal_range
00039   fill
00040   fill_n
00041   find
00042   find_end
00043   find_first_of
00044   find_if
00045   find_if_not (C++0x)
00046   for_each
00047   generate
00048   generate_n
00049   includes
00050   inplace_merge
00051   is_heap (C++0x)
00052   is_heap_until (C++0x)
00053   is_partitioned (C++0x)
00054   is_sorted (C++0x)
00055   is_sorted_until (C++0x)
00056   iter_swap
00057   lexicographical_compare
00058   lower_bound
00059   make_heap
00060   max
00061   max_element
00062   merge
00063   min
00064   min_element
00065   minmax (C++0x)
00066   minmax_element (C++0x)
00067   mismatch
00068   next_permutation
00069   none_of (C++0x)
00070   nth_element
00071   partial_sort
00072   partial_sort_copy
00073   partition
00074   partition_copy (C++0x)
00075   partition_point (C++0x)
00076   pop_heap
00077   prev_permutation
00078   push_heap
00079   random_shuffle
00080   remove
00081   remove_copy
00082   remove_copy_if
00083   remove_if
00084   replace
00085   replace_copy
00086   replace_copy_if
00087   replace_if
00088   reverse
00089   reverse_copy
00090   rotate
00091   rotate_copy
00092   search
00093   search_n
00094   set_difference
00095   set_intersection
00096   set_symmetric_difference
00097   set_union
00098   sort
00099   sort_heap
00100   stable_partition
00101   stable_sort
00102   swap
00103   swap_ranges
00104   transform
00105   unique
00106   unique_copy
00107   upper_bound
00108 */
00109 
00110 #ifndef _GLIBCXX_ALGORITHMFWD_H
00111 #define _GLIBCXX_ALGORITHMFWD_H 1
00112 
00113 #pragma GCC system_header
00114 
00115 #include <bits/c++config.h>
00116 #include <bits/stl_pair.h>
00117 #include <bits/stl_iterator_base_types.h>
00118 
00119 _GLIBCXX_BEGIN_NAMESPACE(std)
00120 
00121   // adjacent_find
00122 
00123 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00124   template<typename _IIter, typename _Predicate>
00125     bool
00126     all_of(_IIter, _IIter, _Predicate);
00127 
00128   template<typename _IIter, typename _Predicate>
00129     bool
00130     any_of(_IIter, _IIter, _Predicate);
00131 #endif
00132 
00133   template<typename _FIter, typename _Tp>
00134     bool 
00135     binary_search(_FIter, _FIter, const _Tp&);
00136 
00137   template<typename _FIter, typename _Tp, typename _Compare>
00138     bool 
00139     binary_search(_FIter, _FIter, const _Tp&, _Compare);
00140 
00141   template<typename _IIter, typename _OIter>
00142     _OIter 
00143     copy(_IIter, _IIter, _OIter);
00144 
00145   template<typename _BIter1, typename _BIter2>
00146     _BIter2
00147     copy_backward(_BIter1, _BIter1, _BIter2);
00148 
00149 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00150   template<typename _IIter, typename _OIter, typename _Predicate>
00151     _OIter
00152     copy_if(_IIter, _IIter, _OIter, _Predicate);
00153 
00154   template<typename _IIter, typename _Size, typename _OIter>
00155     _OIter
00156     copy_n(_IIter, _Size, _OIter);
00157 #endif
00158 
00159   // count
00160   // count_if
00161 
00162   template<typename _FIter, typename _Tp>
00163     pair<_FIter, _FIter>
00164     equal_range(_FIter, _FIter, const _Tp&);
00165 
00166   template<typename _FIter, typename _Tp, typename _Compare>
00167     pair<_FIter, _FIter>
00168     equal_range(_FIter, _FIter, const _Tp&, _Compare);
00169 
00170   template<typename _FIter, typename _Tp>
00171     void 
00172     fill(_FIter, _FIter, const _Tp&);
00173 
00174 /*
00175   XXX NB: return type different from ISO C++.
00176   template<typename _OIter, typename _Size, typename _Tp>
00177     void 
00178     fill_n(_OIter, _Size, const _Tp&);
00179 */
00180 
00181   template<typename _OIter, typename _Size, typename _Tp>
00182     _OIter
00183     fill_n(_OIter, _Size, const _Tp&);
00184 
00185   // find
00186 
00187   template<typename _FIter1, typename _FIter2>
00188     _FIter1
00189     find_end(_FIter1, _FIter1, _FIter2, _FIter2);
00190 
00191   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
00192     _FIter1
00193     find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
00194 
00195   // find_first_of
00196   // find_if
00197 
00198 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00199   template<typename _IIter, typename _Predicate>
00200     _IIter
00201     find_if_not(_IIter, _IIter, _Predicate);
00202 #endif
00203 
00204   // for_each
00205   // generate
00206   // generate_n
00207 
00208   template<typename _IIter1, typename _IIter2>
00209     bool 
00210     includes(_IIter1, _IIter1, _IIter2, _IIter2);
00211 
00212   template<typename _IIter1, typename _IIter2, typename _Compare>
00213     bool 
00214     includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
00215 
00216   template<typename _BIter>
00217     void 
00218     inplace_merge(_BIter, _BIter, _BIter);
00219 
00220   template<typename _BIter, typename _Compare>
00221     void 
00222     inplace_merge(_BIter, _BIter, _BIter, _Compare);
00223 
00224 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00225   template<typename _RAIter>
00226     bool 
00227     is_heap(_RAIter, _RAIter);
00228 
00229   template<typename _RAIter, typename _Compare>
00230     bool 
00231     is_heap(_RAIter, _RAIter, _Compare);
00232 
00233   template<typename _RAIter>
00234     _RAIter 
00235     is_heap_until(_RAIter, _RAIter);
00236 
00237   template<typename _RAIter, typename _Compare>
00238     _RAIter 
00239     is_heap_until(_RAIter, _RAIter, _Compare);
00240 
00241   template<typename _IIter, typename _Predicate>
00242     bool
00243     is_partitioned(_IIter, _IIter, _Predicate);
00244 
00245   template<typename _FIter>
00246     bool 
00247     is_sorted(_FIter, _FIter);
00248 
00249   template<typename _FIter, typename _Compare>
00250     bool 
00251     is_sorted(_FIter, _FIter, _Compare);
00252 
00253   template<typename _FIter>
00254     _FIter 
00255     is_sorted_until(_FIter, _FIter);
00256 
00257   template<typename _FIter, typename _Compare>
00258     _FIter 
00259     is_sorted_until(_FIter, _FIter, _Compare);
00260 #endif
00261 
00262   template<typename _FIter1, typename _FIter2>
00263     void 
00264     iter_swap(_FIter1, _FIter2);
00265 
00266   template<typename _FIter, typename _Tp>
00267     _FIter 
00268     lower_bound(_FIter, _FIter, const _Tp&);
00269 
00270   template<typename _FIter, typename _Tp, typename _Compare>
00271     _FIter 
00272     lower_bound(_FIter, _FIter, const _Tp&, _Compare);
00273 
00274   template<typename _RAIter>
00275     void 
00276     make_heap(_RAIter, _RAIter);
00277 
00278   template<typename _RAIter, typename _Compare>
00279     void 
00280     make_heap(_RAIter, _RAIter, _Compare);
00281 
00282   template<typename _Tp> 
00283     const _Tp& 
00284     max(const _Tp&, const _Tp&);
00285 
00286   template<typename _Tp, typename _Compare>
00287     const _Tp& 
00288     max(const _Tp&, const _Tp&, _Compare);
00289 
00290   // max_element
00291   // merge
00292 
00293   template<typename _Tp> 
00294     const _Tp& 
00295     min(const _Tp&, const _Tp&);
00296 
00297   template<typename _Tp, typename _Compare>
00298     const _Tp& 
00299     min(const _Tp&, const _Tp&, _Compare);
00300 
00301   // min_element
00302 
00303 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00304   template<typename _Tp>
00305     pair<const _Tp&, const _Tp&> 
00306     minmax(const _Tp&, const _Tp&);
00307 
00308   template<typename _Tp, typename _Compare>
00309     pair<const _Tp&, const _Tp&>
00310     minmax(const _Tp&, const _Tp&, _Compare);
00311 
00312   template<typename _FIter>
00313     pair<_FIter, _FIter>
00314     minmax_element(_FIter, _FIter);
00315 
00316   template<typename _FIter, typename _Compare>
00317     pair<_FIter, _FIter>
00318     minmax_element(_FIter, _FIter, _Compare);
00319 #endif
00320 
00321   // mismatch
00322 
00323   template<typename _BIter>
00324     bool 
00325     next_permutation(_BIter, _BIter);
00326 
00327   template<typename _BIter, typename _Compare>
00328     bool 
00329     next_permutation(_BIter, _BIter, _Compare);
00330 
00331 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00332   template<typename _IIter, typename _Predicate>
00333     bool
00334     none_of(_IIter, _IIter, _Predicate);
00335 #endif
00336 
00337   // nth_element
00338   // partial_sort
00339 
00340   template<typename _IIter, typename _RAIter>
00341     _RAIter
00342     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter);
00343 
00344   template<typename _IIter, typename _RAIter, typename _Compare>
00345     _RAIter
00346     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare);
00347 
00348   // partition
00349 
00350 #ifdef __GXX_EXPERIMENTAL_CXX0X__
00351   template<typename _IIter, typename _OIter1,
00352        typename _OIter2, typename _Predicate>
00353     pair<_OIter1, _OIter2>
00354     partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate);
00355 
00356   template<typename _FIter, typename _Predicate>
00357     _FIter
00358     partition_point(_FIter, _FIter, _Predicate);
00359 #endif
00360 
00361   template<typename _RAIter>
00362     void 
00363     pop_heap(_RAIter, _RAIter);
00364 
00365   template<typename _RAIter, typename _Compare>
00366     void 
00367     pop_heap(_RAIter, _RAIter, _Compare);
00368 
00369   template<typename _BIter>
00370     bool 
00371     prev_permutation(_BIter, _BIter);
00372 
00373   template<typename _BIter, typename _Compare>
00374     bool 
00375     prev_permutation(_BIter, _BIter, _Compare);
00376 
00377   template<typename _RAIter>
00378     void 
00379     push_heap(_RAIter, _RAIter);
00380 
00381   template<typename _RAIter, typename _Compare>
00382     void 
00383     push_heap(_RAIter, _RAIter, _Compare);
00384 
00385   // random_shuffle
00386 
00387   template<typename _FIter, typename _Tp>
00388     _FIter 
00389     remove(_FIter, _FIter, const _Tp&);
00390 
00391   template<typename _FIter, typename _Predicate>
00392     _FIter 
00393     remove_if(_FIter, _FIter, _Predicate);
00394 
00395   template<typename _IIter, typename _OIter, typename _Tp>
00396     _OIter 
00397     remove_copy(_IIter, _IIter, _OIter, const _Tp&);
00398 
00399   template<typename _IIter, typename _OIter, typename _Predicate>
00400     _OIter 
00401     remove_copy_if(_IIter, _IIter, _OIter, _Predicate);
00402 
00403   // replace
00404 
00405   template<typename _IIter, typename _OIter, typename _Tp>
00406     _OIter 
00407     replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&);
00408 
00409   template<typename _Iter, typename _OIter, typename _Predicate, typename _Tp>
00410     _OIter 
00411     replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&);
00412 
00413   // replace_if
00414 
00415   template<typename _BIter>
00416     void 
00417     reverse(_BIter, _BIter);
00418 
00419   template<typename _BIter, typename _OIter>
00420     _OIter 
00421     reverse_copy(_BIter, _BIter, _OIter);
00422 
00423   template<typename _FIter>
00424     void 
00425     rotate(_FIter, _FIter, _FIter);
00426 
00427   template<typename _FIter, typename _OIter>
00428     _OIter 
00429     rotate_copy(_FIter, _FIter, _FIter, _OIter);
00430 
00431   // search
00432   // search_n
00433   // set_difference
00434   // set_intersection
00435   // set_symmetric_difference
00436   // set_union
00437 
00438   template<typename _RAIter>
00439     void 
00440     sort_heap(_RAIter, _RAIter);
00441 
00442   template<typename _RAIter, typename _Compare>
00443     void 
00444     sort_heap(_RAIter, _RAIter, _Compare);
00445 
00446   template<typename _BIter, typename _Predicate>
00447     _BIter 
00448     stable_partition(_BIter, _BIter, _Predicate);
00449 
00450   template<typename _Tp> 
00451     void 
00452     swap(_Tp&, _Tp&);
00453 
00454   template<typename _Tp, size_t _Nm>
00455     void
00456     swap(_Tp (&)[_Nm], _Tp (&)[_Nm]);
00457 
00458   template<typename _FIter1, typename _FIter2>
00459     _FIter2 
00460     swap_ranges(_FIter1, _FIter1, _FIter2);
00461 
00462   // transform
00463 
00464   template<typename _FIter>
00465     _FIter 
00466     unique(_FIter, _FIter);
00467 
00468   template<typename _FIter, typename _BinaryPredicate>
00469     _FIter 
00470     unique(_FIter, _FIter, _BinaryPredicate);
00471 
00472   // unique_copy
00473 
00474   template<typename _FIter, typename _Tp>
00475     _FIter 
00476     upper_bound(_FIter, _FIter, const _Tp&);
00477 
00478   template<typename _FIter, typename _Tp, typename _Compare>
00479     _FIter 
00480     upper_bound(_FIter, _FIter, const _Tp&, _Compare);
00481 
00482 _GLIBCXX_END_NAMESPACE
00483 
00484 _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
00485 
00486   template<typename _FIter>
00487     _FIter 
00488     adjacent_find(_FIter, _FIter);
00489 
00490   template<typename _FIter, typename _BinaryPredicate>
00491     _FIter 
00492     adjacent_find(_FIter, _FIter, _BinaryPredicate);
00493 
00494   template<typename _IIter, typename _Tp>
00495     typename iterator_traits<_IIter>::difference_type
00496     count(_IIter, _IIter, const _Tp&);
00497 
00498   template<typename _IIter, typename _Predicate>
00499     typename iterator_traits<_IIter>::difference_type
00500     count_if(_IIter, _IIter, _Predicate);
00501 
00502   template<typename _IIter1, typename _IIter2>
00503     bool 
00504     equal(_IIter1, _IIter1, _IIter2);
00505 
00506   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
00507     bool 
00508     equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
00509 
00510   template<typename _IIter, typename _Tp>
00511     _IIter 
00512     find(_IIter, _IIter, const _Tp&);
00513 
00514   template<typename _FIter1, typename _FIter2>
00515     _FIter1
00516     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2);
00517 
00518   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
00519     _FIter1
00520     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
00521 
00522   template<typename _IIter, typename _Predicate>
00523     _IIter
00524     find_if(_IIter, _IIter, _Predicate);
00525 
00526   template<typename _IIter, typename _Funct>
00527     _Funct 
00528     for_each(_IIter, _IIter, _Funct);
00529 
00530   template<typename _FIter, typename _Generator>
00531     void 
00532     generate(_FIter, _FIter, _Generator);
00533 
00534 /*
00535   XXX NB: return type different from ISO C++.
00536   template<typename _OIter, typename _Size, typename _Tp>
00537     void
00538     generate_n(_OIter, _Size, _Generator);
00539 */
00540 
00541   template<typename _OIter, typename _Size, typename _Generator>
00542     _OIter
00543     generate_n(_OIter, _Size, _Generator);
00544 
00545   template<typename _IIter1, typename _IIter2>
00546     bool 
00547     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2);
00548 
00549   template<typename _IIter1, typename _IIter2, typename _Compare>
00550     bool 
00551     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
00552 
00553   template<typename _FIter>
00554     _FIter 
00555     max_element(_FIter, _FIter);
00556 
00557   template<typename _FIter, typename _Compare>
00558     _FIter 
00559     max_element(_FIter, _FIter, _Compare);
00560 
00561   template<typename _IIter1, typename _IIter2, typename _OIter>
00562     _OIter 
00563     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
00564 
00565   template<typename _IIter1, typename _IIter2, typename _OIter, 
00566        typename _Compare>
00567     _OIter 
00568     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
00569 
00570   template<typename _FIter>
00571     _FIter 
00572     min_element(_FIter, _FIter);
00573 
00574   template<typename _FIter, typename _Compare>
00575     _FIter 
00576     min_element(_FIter, _FIter, _Compare);
00577 
00578   template<typename _IIter1, typename _IIter2>
00579     pair<_IIter1, _IIter2>
00580     mismatch(_IIter1, _IIter1, _IIter2);
00581 
00582   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
00583     pair<_IIter1, _IIter2>
00584     mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
00585 
00586   template<typename _RAIter>
00587     void 
00588     nth_element(_RAIter, _RAIter, _RAIter);
00589 
00590   template<typename _RAIter, typename _Compare>
00591     void 
00592     nth_element(_RAIter, _RAIter, _RAIter, _Compare);
00593 
00594   template<typename _RAIter>
00595     void 
00596     partial_sort(_RAIter, _RAIter, _RAIter);
00597 
00598   template<typename _RAIter, typename _Compare>
00599     void 
00600     partial_sort(_RAIter, _RAIter, _RAIter, _Compare);
00601 
00602   template<typename _BIter, typename _Predicate>
00603     _BIter 
00604     partition(_BIter, _BIter, _Predicate);
00605 
00606   template<typename _RAIter>
00607     void 
00608     random_shuffle(_RAIter, _RAIter);
00609 
00610   template<typename _RAIter, typename _Generator>
00611     void 
00612     random_shuffle(_RAIter, _RAIter, _Generator&);
00613 
00614   template<typename _FIter, typename _Tp>
00615     void 
00616     replace(_FIter, _FIter, const _Tp&, const _Tp&);
00617 
00618   template<typename _FIter, typename _Predicate, typename _Tp>
00619     void 
00620     replace_if(_FIter, _FIter, _Predicate, const _Tp&);
00621 
00622   template<typename _FIter1, typename _FIter2>
00623     _FIter1 
00624     search(_FIter1, _FIter1, _FIter2, _FIter2);
00625 
00626   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
00627     _FIter1 
00628     search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
00629 
00630   template<typename _FIter, typename _Size, typename _Tp>
00631     _FIter 
00632     search_n(_FIter, _FIter, _Size, const _Tp&);
00633 
00634   template<typename _FIter, typename _Size, typename _Tp, 
00635        typename _BinaryPredicate>
00636     _FIter 
00637     search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate);
00638 
00639   template<typename _IIter1, typename _IIter2, typename _OIter>
00640     _OIter 
00641     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
00642 
00643   template<typename _IIter1, typename _IIter2, typename _OIter, 
00644        typename _Compare>
00645     _OIter 
00646     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
00647 
00648   template<typename _IIter1, typename _IIter2, typename _OIter>
00649     _OIter 
00650     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
00651 
00652   template<typename _IIter1, typename _IIter2, typename _OIter,
00653        typename _Compare>
00654     _OIter 
00655     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
00656 
00657   template<typename _IIter1, typename _IIter2, typename _OIter>
00658     _OIter
00659     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
00660 
00661   template<typename _IIter1, typename _IIter2, typename _OIter, 
00662        typename _Compare>
00663     _OIter
00664     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, 
00665                  _OIter, _Compare);
00666 
00667   template<typename _IIter1, typename _IIter2, typename _OIter>
00668     _OIter 
00669     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
00670 
00671   template<typename _IIter1, typename _IIter2, typename _OIter,
00672        typename _Compare>
00673     _OIter 
00674     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
00675 
00676   template<typename _RAIter>
00677     void 
00678     sort(_RAIter, _RAIter);
00679 
00680   template<typename _RAIter, typename _Compare>
00681     void 
00682     sort(_RAIter, _RAIter, _Compare);
00683 
00684   template<typename _RAIter>
00685     void 
00686     stable_sort(_RAIter, _RAIter);
00687 
00688   template<typename _RAIter, typename _Compare>
00689     void 
00690     stable_sort(_RAIter, _RAIter, _Compare);
00691 
00692   template<typename _IIter, typename _OIter, typename _UnaryOperation>
00693     _OIter 
00694     transform(_IIter, _IIter, _OIter, _UnaryOperation);
00695 
00696   template<typename _IIter1, typename _IIter2, typename _OIter, 
00697        typename _BinaryOperation>
00698     _OIter 
00699     transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation);
00700 
00701   template<typename _IIter, typename _OIter>
00702     _OIter 
00703     unique_copy(_IIter, _IIter, _OIter);
00704 
00705   template<typename _IIter, typename _OIter, typename _BinaryPredicate>
00706     _OIter 
00707     unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate);
00708 
00709 _GLIBCXX_END_NESTED_NAMESPACE
00710 
00711 #ifdef _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL
00712 # include <parallel/algorithmfwd.h>
00713 #endif
00714 
00715 #endif
00716 

Generated on Tue Jul 15 23:48:51 2008 for libstdc++ by  doxygen 1.5.1