2 * Copyright 2008-2013 NVIDIA Corporation
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <thrust/detail/config.h>
20 #include <thrust/system/tbb/detail/execution_policy.h>
31 template<typename ExecutionPolicy,
32 typename InputIterator1,
33 typename InputIterator2,
34 typename OutputIterator,
35 typename StrictWeakOrdering>
36 OutputIterator merge(execution_policy<ExecutionPolicy> &exec,
37 InputIterator1 first1,
39 InputIterator2 first2,
41 OutputIterator result,
42 StrictWeakOrdering comp);
44 template <typename ExecutionPolicy,
45 typename InputIterator1,
46 typename InputIterator2,
47 typename InputIterator3,
48 typename InputIterator4,
49 typename OutputIterator1,
50 typename OutputIterator2,
51 typename StrictWeakOrdering>
52 thrust::pair<OutputIterator1,OutputIterator2>
53 merge_by_key(execution_policy<ExecutionPolicy> &exec,
54 InputIterator1 keys_first1,
55 InputIterator1 keys_last1,
56 InputIterator2 keys_first2,
57 InputIterator2 keys_last2,
58 InputIterator3 values_first3,
59 InputIterator4 values_first4,
60 OutputIterator1 keys_result,
61 OutputIterator2 values_result,
62 StrictWeakOrdering comp);
69 #include <thrust/system/tbb/detail/merge.inl>