Instigate Open Source Documentation

src/stl/_stable_partition.hpp File Reference

Definition of the stable_partition algorithm. More...

#include "concept.hpp"
#include "_basis.hpp"
#include "_advance.hpp"
#include "_rotate.hpp"
#include "_copy.hpp"
#include "_iter_swap.hpp"

Go to the source code of this file.

Namespaces

namespace  instigate
namespace  instigate::stl
namespace  instigate::stl::implementation

Functions

template<typename F, typename P, typename Dist>
instigate::stl::implementation::inplace_stable_partition (F b, F e, P p, Dist l)
 Helper function inplace_stable_partition to implement the algorithm if no auxiliary memory is available.
template<typename F, typename Ptr, typename P, typename Dist>
instigate::stl::implementation::stable_partition_adaptive (F b, F e, P p, Dist l, Ptr buff, Dist buff_size)
 Helper function stable_partition_adaptive to implement the algorithm if a large enough auxiliary memory buffer is available.
template<typename F, typename P, typename T, typename Dist>
instigate::stl::implementation::stable_partition_aux (F b, F e, P p, T *, Dist *)
 Helper function to implement the stable_partition algorithm.
template<typename R, typename T>
instigate::stl::implementation::unguarded_partition (R b, R e, T p)
 The first version of the unguarded_partition algorithm.
template<typename R, typename T, typename C>
instigate::stl::implementation::unguarded_partition (R b, R e, T p, C c)
 The second version of the unguarded_partition algorithm.
template<typename F, typename P>
instigate::stl::stable_partition (F b, F e, P p)
 The interface of the stable_partition algorithm.


Detailed Description

Definition of the stable_partition algorithm.

Copyright © 2008-2010 Instigate CJSC, Armenia

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.

Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Silicon Graphics makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

Copyright © 1994 Hewlett-Packard Company

Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Hewlett-Packard makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.



© Instigate CJSC, Open Source