/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hipcub/checkouts/docs-5.7.0/hipcub/include/hipcub/backend/rocprim/iterator/transform_input_iterator.hpp Source File# hipCUB: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hipcub/checkouts/docs-5.7.0/hipcub/include/hipcub/backend/rocprim/iterator/transform_input_iterator.hpp Source File homedocscheckoutsreadthedocs.orguser_buildsadvanced-micro-devices-hipcubcheckoutsdocs-5.7.0hipcubincludehipcubbackendrocprimiterator transform_input_iterator.hpp 1 /****************************************************************************** 2 * Copyright (c) 2010-2011, Duane Merrill. All rights reserved. 3 * Copyright (c) 2011-2018, NVIDIA CORPORATION. All rights reserved. 4 * Modifications Copyright (c) 2017-2020, Advanced Micro Devices, Inc. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are met: 8 * * Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * * Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * * Neither the name of the NVIDIA CORPORATION nor the 14 * names of its contributors may be used to endorse or promote products 15 * derived from this software without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY 21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * 28 ******************************************************************************/ 29 30 #ifndef HIPCUB_ROCPRIM_ITERATOR_TRANSFORM_INPUT_ITERATOR_HPP_ 31 #define HIPCUB_ROCPRIM_ITERATOR_TRANSFORM_INPUT_ITERATOR_HPP_ 32 33 #include <iterator> 34 #include <iostream> 35 36 #include "../../../config.hpp" 37 38 #include <rocprim/iterator/transform_iterator.hpp> 39 40 #if (THRUST_VERSION >= 100700) 41 // This iterator is compatible with Thrust API 1.7 and newer 42 #include <thrust/iterator/iterator_facade.h> 43 #include <thrust/iterator/iterator_traits.h> 44 #endif // THRUST_VERSION 45 46 47 BEGIN_HIPCUB_NAMESPACE 48 49 #ifndef DOXYGEN_SHOULD_SKIP_THIS // Do not document 50 51 template< 52 typename ValueType, 53 typename ConversionOp, 54 typename InputIteratorT, 55 typename OffsetT = std::ptrdiff_t // ignored 56 > 57 using TransformInputIterator = ::rocprim::transform_iterator<InputIteratorT, ConversionOp, ValueType>; 58 59 #endif 60 61 END_HIPCUB_NAMESPACE 62 63 #endif // HIPCUB_ROCPRIM_ITERATOR_TRANSFORM_INPUT_ITERATOR_HPP_