Instigate Open Source Documentation

src/stl/_stable_sort.hpp File Reference

Definition of the stable_sort algorithm. More...

#include "concept.hpp"
#include "_inplace_merge.hpp"
#include "_merge.hpp"
#include "_min.hpp"
#include "_sort.hpp"
#include "_distance.hpp"
#include "_advance.hpp"
#include "_basis.hpp"

Go to the source code of this file.

Namespaces

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

Functions

template<typename R>
void instigate::stl::implementation::inplace_stable_sort (R b, R e)
 Helper function used in stable_sort algorithm.
template<typename R, typename BP>
void instigate::stl::implementation::inplace_stable_sort (R b, R e, BP p)
 Helper function used in stable_sort algorithm.
template<typename R, typename P, typename D>
void instigate::stl::implementation::stable_sort_adaptive (R b, R e, P buffer, D s)
 Helper function used in stable_sort algorithm.
template<typename R, typename P, typename D, typename BP>
void instigate::stl::implementation::stable_sort_adaptive (R b, R e, P buffer, D s, BP p)
 Helper function used in stable_sort algorithm.
template<typename R1, typename R2, typename D>
void instigate::stl::implementation::merge_sort_loop (R1 b, R1 e, R2 r, D step_size)
 Helper function used in stable_sort algorithm.
template<typename R1, typename R2, typename D, typename BP>
void instigate::stl::implementation::merge_sort_loop (R1 b, R1 e, R2 r, D step_size, BP p)
 Helper function used in stable_sort algorithm.
template<typename R, typename D>
void instigate::stl::implementation::chunk_insertion_sort (R b, R e, D chunk_size)
 Helper function used in stable_sort algorithm.
template<typename R, typename D, typename BP>
void instigate::stl::implementation::chunk_insertion_sort (R b, R e, D chunk_size, BP p)
 Helper function used in stable_sort algorithm.
template<typename R, typename P, typename D>
void instigate::stl::implementation::merge_sort_with_buffer (R b, R e, P buffer, D *)
 Helper function used in stable_sort algorithm.
template<typename R, typename P, typename D, typename BP>
void instigate::stl::implementation::merge_sort_with_buffer (R b, R e, P buffer, D *, BP p)
 Helper function used in stable_sort algorithm.
template<typename R, typename T, typename D>
void instigate::stl::implementation::stable_sort_aux (R b, R e, T *, D *)
 Helper function used in stable_sort algorithm.
template<typename R, typename T, typename D, typename BP>
void instigate::stl::implementation::stable_sort_aux (R b, R e, T *, D *, BP p)
 Helper function used in stable_sort algorithm.
template<typename R>
void instigate::stl::stable_sort (R b, R e)
 First interface of the algorithm stable_sort.
template<typename R, typename BP>
void instigate::stl::stable_sort (R b, R e, BP p)
 Second interface of the algorithm stable_sort.

Variables

const int instigate::stl::implementation::stl_chunk_size = 7
 This variable used in stable_sort algorithm.


Detailed Description

Definition of the stable_sort 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