thrust
remove.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008-2013 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 
22 #pragma once
23 
24 #include <thrust/detail/config.h>
25 #include <thrust/detail/execution_policy.h>
26 
27 namespace thrust
28 {
29 
30 
95 template<typename DerivedPolicy,
96  typename ForwardIterator,
97  typename T>
98 __host__ __device__
99  ForwardIterator remove(const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
100  ForwardIterator first,
101  ForwardIterator last,
102  const T &value);
103 
104 
157 template<typename ForwardIterator,
158  typename T>
159  ForwardIterator remove(ForwardIterator first,
160  ForwardIterator last,
161  const T &value);
162 
163 
211 template<typename DerivedPolicy,
212  typename InputIterator,
213  typename OutputIterator,
214  typename T>
215 __host__ __device__
216  OutputIterator remove_copy(const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
217  InputIterator first,
218  InputIterator last,
219  OutputIterator result,
220  const T &value);
221 
222 
264 template<typename InputIterator,
265  typename OutputIterator,
266  typename T>
267  OutputIterator remove_copy(InputIterator first,
268  InputIterator last,
269  OutputIterator result,
270  const T &value);
271 
272 
342 template<typename DerivedPolicy,
343  typename ForwardIterator,
344  typename Predicate>
345 __host__ __device__
346  ForwardIterator remove_if(const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
347  ForwardIterator first,
348  ForwardIterator last,
349  Predicate pred);
350 
351 
415 template<typename ForwardIterator,
416  typename Predicate>
417  ForwardIterator remove_if(ForwardIterator first,
418  ForwardIterator last,
419  Predicate pred);
420 
421 
479 template<typename DerivedPolicy,
480  typename InputIterator,
481  typename OutputIterator,
482  typename Predicate>
483 __host__ __device__
484  OutputIterator remove_copy_if(const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
485  InputIterator first,
486  InputIterator last,
487  OutputIterator result,
488  Predicate pred);
489 
490 
542 template<typename InputIterator,
543  typename OutputIterator,
544  typename Predicate>
545  OutputIterator remove_copy_if(InputIterator first,
546  InputIterator last,
547  OutputIterator result,
548  Predicate pred);
549 
550 
605 template<typename DerivedPolicy,
606  typename ForwardIterator,
607  typename InputIterator,
608  typename Predicate>
609 __host__ __device__
610  ForwardIterator remove_if(const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
611  ForwardIterator first,
612  ForwardIterator last,
613  InputIterator stencil,
614  Predicate pred);
615 
616 
665 template<typename ForwardIterator,
666  typename InputIterator,
667  typename Predicate>
668  ForwardIterator remove_if(ForwardIterator first,
669  ForwardIterator last,
670  InputIterator stencil,
671  Predicate pred);
672 
673 
727 template<typename DerivedPolicy,
728  typename InputIterator1,
729  typename InputIterator2,
730  typename OutputIterator,
731  typename Predicate>
732 __host__ __device__
733  OutputIterator remove_copy_if(const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
734  InputIterator1 first,
735  InputIterator1 last,
736  InputIterator2 stencil,
737  OutputIterator result,
738  Predicate pred);
739 
740 
788 template<typename InputIterator1,
789  typename InputIterator2,
790  typename OutputIterator,
791  typename Predicate>
792  OutputIterator remove_copy_if(InputIterator1 first,
793  InputIterator1 last,
794  InputIterator2 stencil,
795  OutputIterator result,
796  Predicate pred);
797 
798 
803 } // end thrust
804 
805 #include <thrust/detail/remove.inl>
806 
__host__ __device__ ForwardIterator remove_if(const thrust::detail::execution_policy_base< DerivedPolicy > &exec, ForwardIterator first, ForwardIterator last, Predicate pred)
thrust is the top-level namespace which contains all Thrust functions and types.
Definition: addressof.h:14
__host__ __device__ OutputIterator remove_copy_if(const thrust::detail::execution_policy_base< DerivedPolicy > &exec, InputIterator first, InputIterator last, OutputIterator result, Predicate pred)
__host__ __device__ OutputIterator remove_copy(const thrust::detail::execution_policy_base< DerivedPolicy > &exec, InputIterator first, InputIterator last, OutputIterator result, const T &value)