Instigate Open Source Documentation

src/stl/_inplace_merge.hpp File Reference

Definition of the inplace_merge algorithm. More...

#include "concept.hpp"
#include "temporary_buffer.hpp"
#include "_copy.hpp"
#include "_copy_backward.hpp"
#include "_merge.hpp"
#include "_lower_bound.hpp"
#include "_upper_bound.hpp"
#include "_swap.hpp"
#include "_rotate.hpp"
#include <generic/base.hpp>

Go to the source code of this file.

Namespaces

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

Functions

template<typename B>
void instigate::stl::inplace_merge (B b, B m, B e)
 The first interface of the inplace_merge algorithm.
template<typename B, typename BP>
void instigate::stl::inplace_merge (B b, B m, B e, BP p)
 The second interface of the inplace_merge algorithm.
template<typename B1, typename B2, typename D>
B1 instigate::stl::implementation::rotate_adaptive (B1 b, B1 m, B1 e, D len1, D l2, B2 buffer, D buffer_size)
 Helper function rotate_adaptive to implement the first version of the inplace_merge algorithm.
template<typename B1, typename B2, typename B3>
B3 instigate::stl::implementation::merge_backward (B1 b, B1 e, B2 f, B2 l, B3 r)
 Helper function merge_ backward to implement the first version of the inplace_merge algorithm.
template<typename B, typename D, typename Pointer>
void instigate::stl::implementation::merge_adaptive (B b, B m, B e, D len1, D l2, Pointer buffer, D buffer_size)
 Helper function merge_adaptive to implement the first version of the inplace_merge algorithm.
template<typename B, typename D>
void instigate::stl::implementation::merge_without_buffer (B b, B m, B e, D len1, D l2)
 Helper function merge_without_buffer to implement the first version of the inplace_merge algorithm.
template<typename B, typename TP, typename D>
void instigate::stl::implementation::inplace_merge_aux (B b, B m, B e, TP *, D *)
 Helper function inplace_merge_aux to implement the first version of the inplace_merge algorithm.
template<typename B1, typename B2, typename B3, typename BP>
B3 instigate::stl::implementation::merge_backward (B1 b, B1 e, B2 f, B2 l, B3 r, BP p)
 Helper function merge_backward to implement the second version of the inplace_merge algorithm.
template<typename B, typename D, typename Pointer, typename BP>
void instigate::stl::implementation::merge_adaptive (B b, B m, B e, D len1, D l2, Pointer buffer, D buffer_size, BP bp)
 Helper function merge_adaptive to implement the second version of the inplace_merge algorithm.
template<typename B, typename D, typename BP>
void instigate::stl::implementation::merge_without_buffer (B b, B m, B e, D len1, D l2, BP p)
 Helper function merge_without to implement the second version of the inplace_merge algorithm.
template<typename B, typename TP, typename D, typename BP>
void instigate::stl::implementation::inplace_merge_aux (B b, B m, B e, TP *, D *, BP p)
 Helper function inplace_merge_aux to implement the second version of the inplace_merge algorithm.


Detailed Description

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