1///////////////////////////////////////////////////////////////////////////////
2/// \file algorithm.hpp
3/// Includes the range-based versions of the algorithms in the
4/// C++ standard header file <algorithm>
5//
6/////////////////////////////////////////////////////////////////////////////
7
8// Copyright 2009 Neil Groves.
9// Distributed under the Boost Software License, Version 1.0. (See
10// accompanying file LICENSE_1_0.txt or copy at
11// http://www.boost.org/LICENSE_1_0.txt)
12//
13// Acknowledgements:
14// This code uses combinations of ideas, techniques and code snippets
15// from: Thorsten Ottosen, Eric Niebler, Jeremy Siek,
16// and Vladimir Prus'
17//
18// The original mutating algorithms that served as the first version
19// were originally written by Vladimir Prus'
20// <ghost@cs.msu.su> code from Boost Wiki
21
22#if defined(_MSC_VER)
23#pragma once
24#endif
25
26#ifndef BOOST_RANGE_ALGORITHM_HPP_INCLUDED_01012009
27#define BOOST_RANGE_ALGORITHM_HPP_INCLUDED_01012009
28
29#include <boost/range/concepts.hpp>
30#include <boost/range/iterator_range.hpp>
31#include <boost/range/difference_type.hpp>
32#include <boost/range/detail/range_return.hpp>
33#include <boost/iterator/iterator_traits.hpp>
34#include <boost/next_prior.hpp>
35#include <algorithm>
36
37// Non-mutating algorithms
38#include <boost/range/algorithm/adjacent_find.hpp>
39#include <boost/range/algorithm/count.hpp>
40#include <boost/range/algorithm/count_if.hpp>
41#include <boost/range/algorithm/equal.hpp>
42#include <boost/range/algorithm/for_each.hpp>
43#include <boost/range/algorithm/find.hpp>
44#include <boost/range/algorithm/find_end.hpp>
45#include <boost/range/algorithm/find_first_of.hpp>
46#include <boost/range/algorithm/find_if.hpp>
47#include <boost/range/algorithm/lexicographical_compare.hpp>
48#include <boost/range/algorithm/mismatch.hpp>
49#include <boost/range/algorithm/search.hpp>
50#include <boost/range/algorithm/search_n.hpp>
51
52// Mutating algorithms
53#include <boost/range/algorithm/copy.hpp>
54#include <boost/range/algorithm/copy_backward.hpp>
55#include <boost/range/algorithm/fill.hpp>
56#include <boost/range/algorithm/fill_n.hpp>
57#include <boost/range/algorithm/generate.hpp>
58#include <boost/range/algorithm/inplace_merge.hpp>
59#include <boost/range/algorithm/merge.hpp>
60#include <boost/range/algorithm/nth_element.hpp>
61#include <boost/range/algorithm/partial_sort.hpp>
62#include <boost/range/algorithm/partial_sort_copy.hpp>
63#include <boost/range/algorithm/partition.hpp>
64#include <boost/range/algorithm/random_shuffle.hpp>
65#include <boost/range/algorithm/remove.hpp>
66#include <boost/range/algorithm/remove_copy.hpp>
67#include <boost/range/algorithm/remove_copy_if.hpp>
68#include <boost/range/algorithm/remove_if.hpp>
69#include <boost/range/algorithm/replace.hpp>
70#include <boost/range/algorithm/replace_copy.hpp>
71#include <boost/range/algorithm/replace_copy_if.hpp>
72#include <boost/range/algorithm/replace_if.hpp>
73#include <boost/range/algorithm/reverse.hpp>
74#include <boost/range/algorithm/reverse_copy.hpp>
75#include <boost/range/algorithm/rotate.hpp>
76#include <boost/range/algorithm/rotate_copy.hpp>
77#include <boost/range/algorithm/sort.hpp>
78#include <boost/range/algorithm/stable_partition.hpp>
79#include <boost/range/algorithm/stable_sort.hpp>
80#include <boost/range/algorithm/transform.hpp>
81#include <boost/range/algorithm/unique.hpp>
82#include <boost/range/algorithm/unique_copy.hpp>
83
84// Binary search
85#include <boost/range/algorithm/binary_search.hpp>
86#include <boost/range/algorithm/equal_range.hpp>
87#include <boost/range/algorithm/lower_bound.hpp>
88#include <boost/range/algorithm/upper_bound.hpp>
89
90// Set operations of sorted ranges
91#include <boost/range/algorithm/set_algorithm.hpp>
92
93// Heap operations
94#include <boost/range/algorithm/heap_algorithm.hpp>
95
96// Minimum and Maximum
97#include <boost/range/algorithm/max_element.hpp>
98#include <boost/range/algorithm/min_element.hpp>
99
100// Permutations
101#include <boost/range/algorithm/permutation.hpp>
102
103#endif // include guard
104
105

source code of boost/boost/range/algorithm.hpp