~ubuntu-branches/ubuntu/trusty/libthrust/trusty

« back to all changes in this revision

Viewing changes to detail/dispatch/merge.h

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Beckmann
  • Date: 2011-05-28 09:32:48 UTC
  • Revision ID: james.westby@ubuntu.com-20110528093248-np3euv5sj7fw3nyv
Tags: upstream-1.4.0
ImportĀ upstreamĀ versionĀ 1.4.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  Copyright 2008-2011 NVIDIA Corporation
 
3
 *
 
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
 
7
 *
 
8
 *      http://www.apache.org/licenses/LICENSE-2.0
 
9
 *
 
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.
 
15
 */
 
16
 
 
17
#pragma once
 
18
 
 
19
#include <thrust/merge.h>
 
20
#include <thrust/detail/host/merge.h>
 
21
#include <thrust/detail/device/merge.h>
 
22
 
 
23
namespace thrust
 
24
{
 
25
 
 
26
namespace detail
 
27
{
 
28
 
 
29
namespace dispatch
 
30
{
 
31
 
 
32
template<typename InputIterator1,
 
33
         typename InputIterator2,
 
34
         typename OutputIterator,
 
35
         typename StrictWeakOrdering>
 
36
  OutputIterator merge(InputIterator1 first1,
 
37
                       InputIterator1 last1,
 
38
                       InputIterator2 first2,
 
39
                       InputIterator2 last2,
 
40
                       OutputIterator result,
 
41
                       StrictWeakOrdering comp,
 
42
                       thrust::host_space_tag)
 
43
{
 
44
  return thrust::detail::host::merge(first1,last1,first2,last2,result,comp);
 
45
} // end merge()
 
46
 
 
47
 
 
48
template<typename InputIterator1,
 
49
         typename InputIterator2,
 
50
         typename OutputIterator,
 
51
         typename StrictWeakOrdering>
 
52
  OutputIterator merge(InputIterator1 first1,
 
53
                       InputIterator1 last1,
 
54
                       InputIterator2 first2,
 
55
                       InputIterator2 last2,
 
56
                       OutputIterator result,
 
57
                       StrictWeakOrdering comp,
 
58
                       thrust::device_space_tag)
 
59
{
 
60
  return thrust::detail::device::merge(first1,last1,first2,last2,result,comp);
 
61
} // end merge()
 
62
 
 
63
 
 
64
} // end dispatch
 
65
 
 
66
} // end detail
 
67
 
 
68
} // end thrust
 
69