thrust/1.17.2

Thrust is a parallel algorithms library which resembles the C++ Standard Template Library (STL).
Recipe info
2023-10-31

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
thrust/1.17.2

Using thrust

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
thrust/1.17.2
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("thrust/1.17.2")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): thrust
  • CMake target name(s): thrust::thrust
  • pkg-config file name(s): thrust.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(thrust REQUIRED)
# ...
target_link_libraries(YOUR_TARGET thrust::thrust)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the thrust homepage listed above:

#include "thrust/addressof.h"
#include "thrust/adjacent_difference.h"
#include "thrust/advance.h"
#include "thrust/allocate_unique.h"
#include "thrust/async/copy.h"
#include "thrust/async/for_each.h"
#include "thrust/async/reduce.h"
#include "thrust/async/scan.h"
#include "thrust/async/sort.h"
#include "thrust/async/transform.h"
#include "thrust/binary_search.h"
#include "thrust/complex.h"
#include "thrust/copy.h"
#include "thrust/count.h"
#include "thrust/detail/adjacent_difference.inl"
#include "thrust/detail/advance.inl"
#include "thrust/detail/algorithm_wrapper.h"
#include "thrust/detail/alignment.h"
#include "thrust/detail/allocator/allocator_traits.h"
#include "thrust/detail/allocator/allocator_traits.inl"
#include "thrust/detail/allocator/copy_construct_range.h"
#include "thrust/detail/allocator/copy_construct_range.inl"
#include "thrust/detail/allocator/default_construct_range.h"
#include "thrust/detail/allocator/default_construct_range.inl"
#include "thrust/detail/allocator/destroy_range.h"
#include "thrust/detail/allocator/destroy_range.inl"
#include "thrust/detail/allocator/fill_construct_range.h"
#include "thrust/detail/allocator/fill_construct_range.inl"
#include "thrust/detail/allocator/malloc_allocator.h"
#include "thrust/detail/allocator/malloc_allocator.inl"
#include "thrust/detail/allocator/no_throw_allocator.h"
#include "thrust/detail/allocator/tagged_allocator.h"
#include "thrust/detail/allocator/tagged_allocator.inl"
#include "thrust/detail/allocator/temporary_allocator.h"
#include "thrust/detail/allocator/temporary_allocator.inl"
#include "thrust/detail/allocator_aware_execution_policy.h"
#include "thrust/detail/binary_search.inl"
#include "thrust/detail/caching_allocator.h"
#include "thrust/detail/complex/arithmetic.h"
#include "thrust/detail/complex/c99math.h"
#include "thrust/detail/complex/catrig.h"
#include "thrust/detail/complex/catrigf.h"
#include "thrust/detail/complex/ccosh.h"
#include "thrust/detail/complex/ccoshf.h"
#include "thrust/detail/complex/cexp.h"
#include "thrust/detail/complex/cexpf.h"
#include "thrust/detail/complex/clog.h"
#include "thrust/detail/complex/clogf.h"
#include "thrust/detail/complex/complex.inl"
#include "thrust/detail/complex/cpow.h"
#include "thrust/detail/complex/cproj.h"
#include "thrust/detail/complex/csinh.h"
#include "thrust/detail/complex/csinhf.h"
#include "thrust/detail/complex/csqrt.h"
#include "thrust/detail/complex/csqrtf.h"
#include "thrust/detail/complex/ctanh.h"
#include "thrust/detail/complex/ctanhf.h"
#include "thrust/detail/complex/math_private.h"
#include "thrust/detail/complex/stream.h"
#include "thrust/detail/config.h"
#include "thrust/detail/config/compiler.h"
#include "thrust/detail/config/compiler_fence.h"
#include "thrust/detail/config/config.h"
#include "thrust/detail/config/cpp_compatibility.h"
#include "thrust/detail/config/cpp_dialect.h"
#include "thrust/detail/config/debug.h"
#include "thrust/detail/config/deprecated.h"
#include "thrust/detail/config/device_system.h"
#include "thrust/detail/config/exec_check_disable.h"
#include "thrust/detail/config/forceinline.h"
#include "thrust/detail/config/global_workarounds.h"
#include "thrust/detail/config/host_device.h"
#include "thrust/detail/config/host_system.h"
#include "thrust/detail/config/memory_resource.h"
#include "thrust/detail/config/namespace.h"
#include "thrust/detail/config/simple_defines.h"
#include "thrust/detail/contiguous_storage.h"
#include "thrust/detail/contiguous_storage.inl"
#include "thrust/detail/copy.h"
#include "thrust/detail/copy.inl"
#include "thrust/detail/copy_if.h"
#include "thrust/detail/copy_if.inl"
#include "thrust/detail/count.h"
#include "thrust/detail/count.inl"
#include "thrust/detail/cpp11_required.h"
#include "thrust/detail/cpp14_required.h"
#include "thrust/detail/cstdint.h"
#include "thrust/detail/dependencies_aware_execution_policy.h"
#include "thrust/detail/device_delete.inl"
#include "thrust/detail/device_free.inl"
#include "thrust/detail/device_malloc.inl"
#include "thrust/detail/device_new.inl"
#include "thrust/detail/device_ptr.inl"
#include "thrust/detail/distance.inl"
#include "thrust/detail/equal.inl"
#include "thrust/detail/event_error.h"
#include "thrust/detail/execute_with_allocator.h"
#include "thrust/detail/execute_with_allocator_fwd.h"
#include "thrust/detail/execute_with_dependencies.h"
#include "thrust/detail/execution_policy.h"
#include "thrust/detail/extrema.inl"
#include "thrust/detail/fill.inl"
#include "thrust/detail/find.inl"
#include "thrust/detail/for_each.inl"
#include "thrust/detail/function.h"
#include "thrust/detail/functional.inl"
#include "thrust/detail/functional/actor.h"
#include "thrust/detail/functional/actor.inl"
#include "thrust/detail/functional/argument.h"
#include "thrust/detail/functional/composite.h"
#include "thrust/detail/functional/operators.h"
#include "thrust/detail/functional/operators/arithmetic_operators.h"
#include "thrust/detail/functional/operators/assignment_operator.h"
#include "thrust/detail/functional/operators/bitwise_operators.h"
#include "thrust/detail/functional/operators/compound_assignment_operators.h"
#include "thrust/detail/functional/operators/logical_operators.h"
#include "thrust/detail/functional/operators/operator_adaptors.h"
#include "thrust/detail/functional/operators/relational_operators.h"
#include "thrust/detail/functional/placeholder.h"
#include "thrust/detail/functional/value.h"
#include "thrust/detail/gather.inl"
#include "thrust/detail/generate.inl"
#include "thrust/detail/get_iterator_value.h"
#include "thrust/detail/inner_product.inl"
#include "thrust/detail/integer_math.h"
#include "thrust/detail/integer_traits.h"
#include "thrust/detail/internal_functional.h"
#include "thrust/detail/logical.inl"
#include "thrust/detail/malloc_and_free.h"
#include "thrust/detail/memory_algorithms.h"
#include "thrust/detail/memory_wrapper.h"
#include "thrust/detail/merge.inl"
#include "thrust/detail/minmax.h"
#include "thrust/detail/mismatch.inl"
#include "thrust/detail/modern_gcc_required.h"
#include "thrust/detail/mpl/math.h"
#include "thrust/detail/numeric_traits.h"
#include "thrust/detail/numeric_wrapper.h"
#include "thrust/detail/overlapped_copy.h"
#include "thrust/detail/pair.inl"
#include "thrust/detail/partition.inl"
#include "thrust/detail/pointer.h"
#include "thrust/detail/pointer.inl"
#include "thrust/detail/preprocessor.h"
#include "thrust/detail/range/head_flags.h"
#include "thrust/detail/range/tail_flags.h"
#include "thrust/detail/raw_pointer_cast.h"
#include "thrust/detail/raw_reference_cast.h"
#include "thrust/detail/reduce.inl"
#include "thrust/detail/reference.h"
#include "thrust/detail/reference_forward_declaration.h"
#include "thrust/detail/remove.inl"
#include "thrust/detail/replace.inl"
#include "thrust/detail/reverse.inl"
#include "thrust/detail/scan.inl"
#include "thrust/detail/scatter.inl"
#include "thrust/detail/select_system.h"
#include "thrust/detail/seq.h"
#include "thrust/detail/sequence.inl"
#include "thrust/detail/set_operations.inl"
#include "thrust/detail/shuffle.inl"
#include "thrust/detail/sort.inl"
#include "thrust/detail/static_assert.h"
#include "thrust/detail/static_map.h"
#include "thrust/detail/swap.h"
#include "thrust/detail/swap.inl"
#include "thrust/detail/swap_ranges.inl"
#include "thrust/detail/tabulate.inl"
#include "thrust/detail/temporary_array.h"
#include "thrust/detail/temporary_array.inl"
#include "thrust/detail/temporary_buffer.h"
#include "thrust/detail/transform.inl"
#include "thrust/detail/transform_reduce.inl"
#include "thrust/detail/transform_scan.inl"
#include "thrust/detail/trivial_sequence.h"
#include "thrust/detail/tuple.inl"
#include "thrust/detail/tuple_algorithms.h"
#include "thrust/detail/tuple_meta_transform.h"
#include "thrust/detail/tuple_transform.h"
#include "thrust/detail/type_deduction.h"
#include "thrust/detail/type_traits.h"
#include "thrust/detail/type_traits/function_traits.h"
#include "thrust/detail/type_traits/has_member_function.h"
#include "thrust/detail/type_traits/has_nested_type.h"
#include "thrust/detail/type_traits/has_trivial_assign.h"
#include "thrust/detail/type_traits/is_call_possible.h"
#include "thrust/detail/type_traits/is_metafunction_defined.h"
#include "thrust/detail/type_traits/iterator/is_discard_iterator.h"
#include "thrust/detail/type_traits/iterator/is_output_iterator.h"
#include "thrust/detail/type_traits/minimum_type.h"
#include "thrust/detail/type_traits/pointer_traits.h"
#include "thrust/detail/type_traits/result_of_adaptable_function.h"
#include "thrust/detail/uninitialized_copy.inl"
#include "thrust/detail/uninitialized_fill.inl"
#include "thrust/detail/unique.inl"
#include "thrust/detail/use_default.h"
#include "thrust/detail/util/align.h"
#include "thrust/detail/vector_base.h"
#include "thrust/detail/vector_base.inl"
#include "thrust/device_allocator.h"
#include "thrust/device_delete.h"
#include "thrust/device_free.h"
#include "thrust/device_make_unique.h"
#include "thrust/device_malloc.h"
#include "thrust/device_malloc_allocator.h"
#include "thrust/device_new.h"
#include "thrust/device_new_allocator.h"
#include "thrust/device_ptr.h"
#include "thrust/device_reference.h"
#include "thrust/device_vector.h"
#include "thrust/distance.h"
#include "thrust/equal.h"
#include "thrust/event.h"
#include "thrust/execution_policy.h"
#include "thrust/extrema.h"
#include "thrust/fill.h"
#include "thrust/find.h"
#include "thrust/for_each.h"
#include "thrust/functional.h"
#include "thrust/future.h"
#include "thrust/gather.h"
#include "thrust/generate.h"
#include "thrust/host_vector.h"
#include "thrust/inner_product.h"
#include "thrust/iterator/constant_iterator.h"
#include "thrust/iterator/counting_iterator.h"
#include "thrust/iterator/detail/any_assign.h"
#include "thrust/iterator/detail/any_system_tag.h"
#include "thrust/iterator/detail/constant_iterator_base.h"
#include "thrust/iterator/detail/counting_iterator.inl"
#include "thrust/iterator/detail/device_system_tag.h"
#include "thrust/iterator/detail/discard_iterator_base.h"
#include "thrust/iterator/detail/distance_from_result.h"
#include "thrust/iterator/detail/host_system_tag.h"
#include "thrust/iterator/detail/is_iterator_category.h"
#include "thrust/iterator/detail/iterator_adaptor_base.h"
#include "thrust/iterator/detail/iterator_category_to_system.h"
#include "thrust/iterator/detail/iterator_category_to_traversal.h"
#include "thrust/iterator/detail/iterator_category_with_system_and_traversal.h"
#include "thrust/iterator/detail/iterator_facade_category.h"
#include "thrust/iterator/detail/iterator_traits.inl"
#include "thrust/iterator/detail/iterator_traversal_tags.h"
#include "thrust/iterator/detail/join_iterator.h"
#include "thrust/iterator/detail/minimum_category.h"
#include "thrust/iterator/detail/minimum_system.h"
#include "thrust/iterator/detail/normal_iterator.h"
#include "thrust/iterator/detail/permutation_iterator_base.h"
#include "thrust/iterator/detail/retag.h"
#include "thrust/iterator/detail/reverse_iterator.inl"
#include "thrust/iterator/detail/reverse_iterator_base.h"
#include "thrust/iterator/detail/tagged_iterator.h"
#include "thrust/iterator/detail/transform_input_output_iterator.inl"
#include "thrust/iterator/detail/transform_iterator.inl"
#include "thrust/iterator/detail/transform_output_iterator.inl"
#include "thrust/iterator/detail/tuple_of_iterator_references.h"
#include "thrust/iterator/detail/universal_categories.h"
#include "thrust/iterator/detail/zip_iterator.inl"
#include "thrust/iterator/detail/zip_iterator_base.h"
#include "thrust/iterator/discard_iterator.h"
#include "thrust/iterator/iterator_adaptor.h"
#include "thrust/iterator/iterator_categories.h"
#include "thrust/iterator/iterator_facade.h"
#include "thrust/iterator/iterator_traits.h"
#include "thrust/iterator/permutation_iterator.h"
#include "thrust/iterator/retag.h"
#include "thrust/iterator/reverse_iterator.h"
#include "thrust/iterator/transform_input_output_iterator.h"
#include "thrust/iterator/transform_iterator.h"
#include "thrust/iterator/transform_output_iterator.h"
#include "thrust/iterator/zip_iterator.h"
#include "thrust/limits.h"
#include "thrust/logical.h"
#include "thrust/memory.h"
#include "thrust/merge.h"
#include "thrust/mismatch.h"
#include "thrust/mr/allocator.h"
#include "thrust/mr/device_memory_resource.h"
#include "thrust/mr/disjoint_pool.h"
#include "thrust/mr/disjoint_sync_pool.h"
#include "thrust/mr/disjoint_tls_pool.h"
#include "thrust/mr/fancy_pointer_resource.h"
#include "thrust/mr/host_memory_resource.h"
#include "thrust/mr/memory_resource.h"
#include "thrust/mr/new.h"
#include "thrust/mr/polymorphic_adaptor.h"
#include "thrust/mr/pool.h"
#include "thrust/mr/pool_options.h"
#include "thrust/mr/sync_pool.h"
#include "thrust/mr/tls_pool.h"
#include "thrust/mr/universal_memory_resource.h"
#include "thrust/mr/validator.h"
#include "thrust/optional.h"
#include "thrust/pair.h"
#include "thrust/partition.h"
#include "thrust/per_device_resource.h"
#include "thrust/random.h"
#include "thrust/random/detail/discard_block_engine.inl"
#include "thrust/random/detail/linear_congruential_engine.inl"
#include "thrust/random/detail/linear_congruential_engine_discard.h"
#include "thrust/random/detail/linear_feedback_shift_engine.inl"
#include "thrust/random/detail/linear_feedback_shift_engine_wordmask.h"
#include "thrust/random/detail/mod.h"
#include "thrust/random/detail/normal_distribution.inl"
#include "thrust/random/detail/normal_distribution_base.h"
#include "thrust/random/detail/random_core_access.h"
#include "thrust/random/detail/subtract_with_carry_engine.inl"
#include "thrust/random/detail/uniform_int_distribution.inl"
#include "thrust/random/detail/uniform_real_distribution.inl"
#include "thrust/random/detail/xor_combine_engine.inl"
#include "thrust/random/detail/xor_combine_engine_max.h"
#include "thrust/random/discard_block_engine.h"
#include "thrust/random/linear_congruential_engine.h"
#include "thrust/random/linear_feedback_shift_engine.h"
#include "thrust/random/normal_distribution.h"
#include "thrust/random/subtract_with_carry_engine.h"
#include "thrust/random/uniform_int_distribution.h"
#include "thrust/random/uniform_real_distribution.h"
#include "thrust/random/xor_combine_engine.h"
#include "thrust/reduce.h"
#include "thrust/remove.h"
#include "thrust/replace.h"
#include "thrust/reverse.h"
#include "thrust/scan.h"
#include "thrust/scatter.h"
#include "thrust/sequence.h"
#include "thrust/set_operations.h"
#include "thrust/shuffle.h"
#include "thrust/sort.h"
#include "thrust/swap.h"
#include "thrust/system/cpp/detail/adjacent_difference.h"
#include "thrust/system/cpp/detail/assign_value.h"
#include "thrust/system/cpp/detail/binary_search.h"
#include "thrust/system/cpp/detail/copy.h"
#include "thrust/system/cpp/detail/copy_if.h"
#include "thrust/system/cpp/detail/count.h"
#include "thrust/system/cpp/detail/equal.h"
#include "thrust/system/cpp/detail/execution_policy.h"
#include "thrust/system/cpp/detail/extrema.h"
#include "thrust/system/cpp/detail/fill.h"
#include "thrust/system/cpp/detail/find.h"
#include "thrust/system/cpp/detail/for_each.h"
#include "thrust/system/cpp/detail/gather.h"
#include "thrust/system/cpp/detail/generate.h"
#include "thrust/system/cpp/detail/get_value.h"
#include "thrust/system/cpp/detail/inner_product.h"
#include "thrust/system/cpp/detail/iter_swap.h"
#include "thrust/system/cpp/detail/logical.h"
#include "thrust/system/cpp/detail/malloc_and_free.h"
#include "thrust/system/cpp/detail/memory.inl"
#include "thrust/system/cpp/detail/merge.h"
#include "thrust/system/cpp/detail/mismatch.h"
#include "thrust/system/cpp/detail/par.h"
#include "thrust/system/cpp/detail/partition.h"
#include "thrust/system/cpp/detail/per_device_resource.h"
#include "thrust/system/cpp/detail/reduce.h"
#include "thrust/system/cpp/detail/reduce_by_key.h"
#include "thrust/system/cpp/detail/remove.h"
#include "thrust/system/cpp/detail/replace.h"
#include "thrust/system/cpp/detail/reverse.h"
#include "thrust/system/cpp/detail/scan.h"
#include "thrust/system/cpp/detail/scan_by_key.h"
#include "thrust/system/cpp/detail/scatter.h"
#include "thrust/system/cpp/detail/sequence.h"
#include "thrust/system/cpp/detail/set_operations.h"
#include "thrust/system/cpp/detail/sort.h"
#include "thrust/system/cpp/detail/swap_ranges.h"
#include "thrust/system/cpp/detail/tabulate.h"
#include "thrust/system/cpp/detail/temporary_buffer.h"
#include "thrust/system/cpp/detail/transform.h"
#include "thrust/system/cpp/detail/transform_reduce.h"
#include "thrust/system/cpp/detail/transform_scan.h"
#include "thrust/system/cpp/detail/uninitialized_copy.h"
#include "thrust/system/cpp/detail/uninitialized_fill.h"
#include "thrust/system/cpp/detail/unique.h"
#include "thrust/system/cpp/detail/unique_by_key.h"
#include "thrust/system/cpp/detail/vector.inl"
#include "thrust/system/cpp/execution_policy.h"
#include "thrust/system/cpp/memory.h"
#include "thrust/system/cpp/memory_resource.h"
#include "thrust/system/cpp/pointer.h"
#include "thrust/system/cpp/vector.h"
#include "thrust/system/cuda/config.h"
#include "thrust/system/cuda/detail/adjacent_difference.h"
#include "thrust/system/cuda/detail/assign_value.h"
#include "thrust/system/cuda/detail/async/copy.h"
#include "thrust/system/cuda/detail/async/customization.h"
#include "thrust/system/cuda/detail/async/exclusive_scan.h"
#include "thrust/system/cuda/detail/async/for_each.h"
#include "thrust/system/cuda/detail/async/inclusive_scan.h"
#include "thrust/system/cuda/detail/async/reduce.h"
#include "thrust/system/cuda/detail/async/scan.h"
#include "thrust/system/cuda/detail/async/sort.h"
#include "thrust/system/cuda/detail/async/transform.h"
#include "thrust/system/cuda/detail/binary_search.h"
#include "thrust/system/cuda/detail/copy.h"
#include "thrust/system/cuda/detail/copy_if.h"
#include "thrust/system/cuda/detail/core/agent_launcher.h"
#include "thrust/system/cuda/detail/core/alignment.h"
#include "thrust/system/cuda/detail/core/triple_chevron_launch.h"
#include "thrust/system/cuda/detail/core/util.h"
#include "thrust/system/cuda/detail/count.h"
#include "thrust/system/cuda/detail/cross_system.h"
#include "thrust/system/cuda/detail/dispatch.h"
#include "thrust/system/cuda/detail/equal.h"
#include "thrust/system/cuda/detail/error.inl"
#include "thrust/system/cuda/detail/execution_policy.h"
#include "thrust/system/cuda/detail/extrema.h"
#include "thrust/system/cuda/detail/fill.h"
#include "thrust/system/cuda/detail/find.h"
#include "thrust/system/cuda/detail/for_each.h"
#include "thrust/system/cuda/detail/future.inl"
#include "thrust/system/cuda/detail/gather.h"
#include "thrust/system/cuda/detail/generate.h"
#include "thrust/system/cuda/detail/get_value.h"
#include "thrust/system/cuda/detail/guarded_cuda_runtime_api.h"
#include "thrust/system/cuda/detail/guarded_driver_types.h"
#include "thrust/system/cuda/detail/inner_product.h"
#include "thrust/system/cuda/detail/internal/copy_cross_system.h"
#include "thrust/system/cuda/detail/internal/copy_device_to_device.h"
#include "thrust/system/cuda/detail/iter_swap.h"
#include "thrust/system/cuda/detail/logical.h"
#include "thrust/system/cuda/detail/make_unsigned_special.h"
#include "thrust/system/cuda/detail/malloc_and_free.h"
#include "thrust/system/cuda/detail/memory.inl"
#include "thrust/system/cuda/detail/merge.h"
#include "thrust/system/cuda/detail/mismatch.h"
#include "thrust/system/cuda/detail/par.h"
#include "thrust/system/cuda/detail/par_to_seq.h"
#include "thrust/system/cuda/detail/parallel_for.h"
#include "thrust/system/cuda/detail/partition.h"
#include "thrust/system/cuda/detail/per_device_resource.h"
#include "thrust/system/cuda/detail/reduce.h"
#include "thrust/system/cuda/detail/reduce_by_key.h"
#include "thrust/system/cuda/detail/remove.h"
#include "thrust/system/cuda/detail/replace.h"
#include "thrust/system/cuda/detail/reverse.h"
#include "thrust/system/cuda/detail/scan.h"
#include "thrust/system/cuda/detail/scan_by_key.h"
#include "thrust/system/cuda/detail/scatter.h"
#include "thrust/system/cuda/detail/sequence.h"
#include "thrust/system/cuda/detail/set_operations.h"
#include "thrust/system/cuda/detail/sort.h"
#include "thrust/system/cuda/detail/swap_ranges.h"
#include "thrust/system/cuda/detail/tabulate.h"
#include "thrust/system/cuda/detail/temporary_buffer.h"
#include "thrust/system/cuda/detail/terminate.h"
#include "thrust/system/cuda/detail/transform.h"
#include "thrust/system/cuda/detail/transform_reduce.h"
#include "thrust/system/cuda/detail/transform_scan.h"
#include "thrust/system/cuda/detail/uninitialized_copy.h"
#include "thrust/system/cuda/detail/uninitialized_fill.h"
#include "thrust/system/cuda/detail/unique.h"
#include "thrust/system/cuda/detail/unique_by_key.h"
#include "thrust/system/cuda/detail/util.h"
#include "thrust/system/cuda/error.h"
#include "thrust/system/cuda/execution_policy.h"
#include "thrust/system/cuda/future.h"
#include "thrust/system/cuda/memory.h"
#include "thrust/system/cuda/memory_resource.h"
#include "thrust/system/cuda/pointer.h"
#include "thrust/system/cuda/vector.h"
#include "thrust/system/detail/adl/adjacent_difference.h"
#include "thrust/system/detail/adl/assign_value.h"
#include "thrust/system/detail/adl/async/copy.h"
#include "thrust/system/detail/adl/async/for_each.h"
#include "thrust/system/detail/adl/async/reduce.h"
#include "thrust/system/detail/adl/async/scan.h"
#include "thrust/system/detail/adl/async/sort.h"
#include "thrust/system/detail/adl/async/transform.h"
#include "thrust/system/detail/adl/binary_search.h"
#include "thrust/system/detail/adl/copy.h"
#include "thrust/system/detail/adl/copy_if.h"
#include "thrust/system/detail/adl/count.h"
#include "thrust/system/detail/adl/equal.h"
#include "thrust/system/detail/adl/extrema.h"
#include "thrust/system/detail/adl/fill.h"
#include "thrust/system/detail/adl/find.h"
#include "thrust/system/detail/adl/for_each.h"
#include "thrust/system/detail/adl/gather.h"
#include "thrust/system/detail/adl/generate.h"
#include "thrust/system/detail/adl/get_value.h"
#include "thrust/system/detail/adl/inner_product.h"
#include "thrust/system/detail/adl/iter_swap.h"
#include "thrust/system/detail/adl/logical.h"
#include "thrust/system/detail/adl/malloc_and_free.h"
#include "thrust/system/detail/adl/merge.h"
#include "thrust/system/detail/adl/mismatch.h"
#include "thrust/system/detail/adl/partition.h"
#include "thrust/system/detail/adl/per_device_resource.h"
#include "thrust/system/detail/adl/reduce.h"
#include "thrust/system/detail/adl/reduce_by_key.h"
#include "thrust/system/detail/adl/remove.h"
#include "thrust/system/detail/adl/replace.h"
#include "thrust/system/detail/adl/reverse.h"
#include "thrust/system/detail/adl/scan.h"
#include "thrust/system/detail/adl/scan_by_key.h"
#include "thrust/system/detail/adl/scatter.h"
#include "thrust/system/detail/adl/sequence.h"
#include "thrust/system/detail/adl/set_operations.h"
#include "thrust/system/detail/adl/sort.h"
#include "thrust/system/detail/adl/swap_ranges.h"
#include "thrust/system/detail/adl/tabulate.h"
#include "thrust/system/detail/adl/temporary_buffer.h"
#include "thrust/system/detail/adl/transform.h"
#include "thrust/system/detail/adl/transform_reduce.h"
#include "thrust/system/detail/adl/transform_scan.h"
#include "thrust/system/detail/adl/uninitialized_copy.h"
#include "thrust/system/detail/adl/uninitialized_fill.h"
#include "thrust/system/detail/adl/unique.h"
#include "thrust/system/detail/adl/unique_by_key.h"
#include "thrust/system/detail/bad_alloc.h"
#include "thrust/system/detail/errno.h"
#include "thrust/system/detail/error_category.inl"
#include "thrust/system/detail/error_code.inl"
#include "thrust/system/detail/error_condition.inl"
#include "thrust/system/detail/generic/adjacent_difference.h"
#include "thrust/system/detail/generic/adjacent_difference.inl"
#include "thrust/system/detail/generic/advance.h"
#include "thrust/system/detail/generic/advance.inl"
#include "thrust/system/detail/generic/binary_search.h"
#include "thrust/system/detail/generic/binary_search.inl"
#include "thrust/system/detail/generic/copy.h"
#include "thrust/system/detail/generic/copy.inl"
#include "thrust/system/detail/generic/copy_if.h"
#include "thrust/system/detail/generic/copy_if.inl"
#include "thrust/system/detail/generic/count.h"
#include "thrust/system/detail/generic/count.inl"
#include "thrust/system/detail/generic/distance.h"
#include "thrust/system/detail/generic/distance.inl"
#include "thrust/system/detail/generic/equal.h"
#include "thrust/system/detail/generic/equal.inl"
#include "thrust/system/detail/generic/extrema.h"
#include "thrust/system/detail/generic/extrema.inl"
#include "thrust/system/detail/generic/fill.h"
#include "thrust/system/detail/generic/find.h"
#include "thrust/system/detail/generic/find.inl"
#include "thrust/system/detail/generic/for_each.h"
#include "thrust/system/detail/generic/gather.h"
#include "thrust/system/detail/generic/gather.inl"
#include "thrust/system/detail/generic/generate.h"
#include "thrust/system/detail/generic/generate.inl"
#include "thrust/system/detail/generic/inner_product.h"
#include "thrust/system/detail/generic/inner_product.inl"
#include "thrust/system/detail/generic/logical.h"
#include "thrust/system/detail/generic/memory.h"
#include "thrust/system/detail/generic/memory.inl"
#include "thrust/system/detail/generic/merge.h"
#include "thrust/system/detail/generic/merge.inl"
#include "thrust/system/detail/generic/mismatch.h"
#include "thrust/system/detail/generic/mismatch.inl"
#include "thrust/system/detail/generic/partition.h"
#include "thrust/system/detail/generic/partition.inl"
#include "thrust/system/detail/generic/per_device_resource.h"
#include "thrust/system/detail/generic/reduce.h"
#include "thrust/system/detail/generic/reduce.inl"
#include "thrust/system/detail/generic/reduce_by_key.h"
#include "thrust/system/detail/generic/reduce_by_key.inl"
#include "thrust/system/detail/generic/remove.h"
#include "thrust/system/detail/generic/remove.inl"
#include "thrust/system/detail/generic/replace.h"
#include "thrust/system/detail/generic/replace.inl"
#include "thrust/system/detail/generic/reverse.h"
#include "thrust/system/detail/generic/reverse.inl"
#include "thrust/system/detail/generic/scalar/binary_search.h"
#include "thrust/system/detail/generic/scalar/binary_search.inl"
#include "thrust/system/detail/generic/scan.h"
#include "thrust/system/detail/generic/scan.inl"
#include "thrust/system/detail/generic/scan_by_key.h"
#include "thrust/system/detail/generic/scan_by_key.inl"
#include "thrust/system/detail/generic/scatter.h"
#include "thrust/system/detail/generic/scatter.inl"
#include "thrust/system/detail/generic/select_system.h"
#include "thrust/system/detail/generic/select_system.inl"
#include "thrust/system/detail/generic/select_system_exists.h"
#include "thrust/system/detail/generic/sequence.h"
#include "thrust/system/detail/generic/sequence.inl"
#include "thrust/system/detail/generic/set_operations.h"
#include "thrust/system/detail/generic/set_operations.inl"
#include "thrust/system/detail/generic/shuffle.h"
#include "thrust/system/detail/generic/shuffle.inl"
#include "thrust/system/detail/generic/sort.h"
#include "thrust/system/detail/generic/sort.inl"
#include "thrust/system/detail/generic/swap_ranges.h"
#include "thrust/system/detail/generic/swap_ranges.inl"
#include "thrust/system/detail/generic/tabulate.h"
#include "thrust/system/detail/generic/tabulate.inl"
#include "thrust/system/detail/generic/tag.h"
#include "thrust/system/detail/generic/temporary_buffer.h"
#include "thrust/system/detail/generic/temporary_buffer.inl"
#include "thrust/system/detail/generic/transform.h"
#include "thrust/system/detail/generic/transform.inl"
#include "thrust/system/detail/generic/transform_reduce.h"
#include "thrust/system/detail/generic/transform_reduce.inl"
#include "thrust/system/detail/generic/transform_scan.h"
#include "thrust/system/detail/generic/transform_scan.inl"
#include "thrust/system/detail/generic/uninitialized_copy.h"
#include "thrust/system/detail/generic/uninitialized_copy.inl"
#include "thrust/system/detail/generic/uninitialized_fill.h"
#include "thrust/system/detail/generic/uninitialized_fill.inl"
#include "thrust/system/detail/generic/unique.h"
#include "thrust/system/detail/generic/unique.inl"
#include "thrust/system/detail/generic/unique_by_key.h"
#include "thrust/system/detail/generic/unique_by_key.inl"
#include "thrust/system/detail/internal/decompose.h"
#include "thrust/system/detail/sequential/adjacent_difference.h"
#include "thrust/system/detail/sequential/assign_value.h"
#include "thrust/system/detail/sequential/binary_search.h"
#include "thrust/system/detail/sequential/copy.h"
#include "thrust/system/detail/sequential/copy.inl"
#include "thrust/system/detail/sequential/copy_backward.h"
#include "thrust/system/detail/sequential/copy_if.h"
#include "thrust/system/detail/sequential/count.h"
#include "thrust/system/detail/sequential/equal.h"
#include "thrust/system/detail/sequential/execution_policy.h"
#include "thrust/system/detail/sequential/extrema.h"
#include "thrust/system/detail/sequential/fill.h"
#include "thrust/system/detail/sequential/find.h"
#include "thrust/system/detail/sequential/for_each.h"
#include "thrust/system/detail/sequential/gather.h"
#include "thrust/system/detail/sequential/general_copy.h"
#include "thrust/system/detail/sequential/generate.h"
#include "thrust/system/detail/sequential/get_value.h"
#include "thrust/system/detail/sequential/inner_product.h"
#include "thrust/system/detail/sequential/insertion_sort.h"
#include "thrust/system/detail/sequential/iter_swap.h"
#include "thrust/system/detail/sequential/logical.h"
#include "thrust/system/detail/sequential/malloc_and_free.h"
#include "thrust/system/detail/sequential/merge.h"
#include "thrust/system/detail/sequential/merge.inl"
#include "thrust/system/detail/sequential/mismatch.h"
#include "thrust/system/detail/sequential/partition.h"
#include "thrust/system/detail/sequential/per_device_resource.h"
#include "thrust/system/detail/sequential/reduce.h"
#include "thrust/system/detail/sequential/reduce_by_key.h"
#include "thrust/system/detail/sequential/remove.h"
#include "thrust/system/detail/sequential/replace.h"
#include "thrust/system/detail/sequential/reverse.h"
#include "thrust/system/detail/sequential/scan.h"
#include "thrust/system/detail/sequential/scan_by_key.h"
#include "thrust/system/detail/sequential/scatter.h"
#include "thrust/system/detail/sequential/sequence.h"
#include "thrust/system/detail/sequential/set_operations.h"
#include "thrust/system/detail/sequential/sort.h"
#include "thrust/system/detail/sequential/sort.inl"
#include "thrust/system/detail/sequential/stable_merge_sort.h"
#include "thrust/system/detail/sequential/stable_merge_sort.inl"
#include "thrust/system/detail/sequential/stable_primitive_sort.h"
#include "thrust/system/detail/sequential/stable_primitive_sort.inl"
#include "thrust/system/detail/sequential/stable_radix_sort.h"
#include "thrust/system/detail/sequential/stable_radix_sort.inl"
#include "thrust/system/detail/sequential/swap_ranges.h"
#include "thrust/system/detail/sequential/tabulate.h"
#include "thrust/system/detail/sequential/temporary_buffer.h"
#include "thrust/system/detail/sequential/transform.h"
#include "thrust/system/detail/sequential/transform_reduce.h"
#include "thrust/system/detail/sequential/transform_scan.h"
#include "thrust/system/detail/sequential/trivial_copy.h"
#include "thrust/system/detail/sequential/uninitialized_copy.h"
#include "thrust/system/detail/sequential/uninitialized_fill.h"
#include "thrust/system/detail/sequential/unique.h"
#include "thrust/system/detail/sequential/unique_by_key.h"
#include "thrust/system/detail/system_error.inl"
#include "thrust/system/error_code.h"
#include "thrust/system/omp/detail/adjacent_difference.h"
#include "thrust/system/omp/detail/assign_value.h"
#include "thrust/system/omp/detail/binary_search.h"
#include "thrust/system/omp/detail/copy.h"
#include "thrust/system/omp/detail/copy.inl"
#include "thrust/system/omp/detail/copy_if.h"
#include "thrust/system/omp/detail/copy_if.inl"
#include "thrust/system/omp/detail/count.h"
#include "thrust/system/omp/detail/default_decomposition.h"
#include "thrust/system/omp/detail/default_decomposition.inl"
#include "thrust/system/omp/detail/equal.h"
#include "thrust/system/omp/detail/execution_policy.h"
#include "thrust/system/omp/detail/extrema.h"
#include "thrust/system/omp/detail/fill.h"
#include "thrust/system/omp/detail/find.h"
#include "thrust/system/omp/detail/for_each.h"
#include "thrust/system/omp/detail/for_each.inl"
#include "thrust/system/omp/detail/gather.h"
#include "thrust/system/omp/detail/generate.h"
#include "thrust/system/omp/detail/get_value.h"
#include "thrust/system/omp/detail/inner_product.h"
#include "thrust/system/omp/detail/iter_swap.h"
#include "thrust/system/omp/detail/logical.h"
#include "thrust/system/omp/detail/malloc_and_free.h"
#include "thrust/system/omp/detail/memory.inl"
#include "thrust/system/omp/detail/merge.h"
#include "thrust/system/omp/detail/mismatch.h"
#include "thrust/system/omp/detail/par.h"
#include "thrust/system/omp/detail/partition.h"
#include "thrust/system/omp/detail/partition.inl"
#include "thrust/system/omp/detail/per_device_resource.h"
#include "thrust/system/omp/detail/pragma_omp.h"
#include "thrust/system/omp/detail/reduce.h"
#include "thrust/system/omp/detail/reduce.inl"
#include "thrust/system/omp/detail/reduce_by_key.h"
#include "thrust/system/omp/detail/reduce_by_key.inl"
#include "thrust/system/omp/detail/reduce_intervals.h"
#include "thrust/system/omp/detail/reduce_intervals.inl"
#include "thrust/system/omp/detail/remove.h"
#include "thrust/system/omp/detail/remove.inl"
#include "thrust/system/omp/detail/replace.h"
#include "thrust/system/omp/detail/reverse.h"
#include "thrust/system/omp/detail/scan.h"
#include "thrust/system/omp/detail/scan_by_key.h"
#include "thrust/system/omp/detail/scatter.h"
#include "thrust/system/omp/detail/sequence.h"
#include "thrust/system/omp/detail/set_operations.h"
#include "thrust/system/omp/detail/sort.h"
#include "thrust/system/omp/detail/sort.inl"
#include "thrust/system/omp/detail/swap_ranges.h"
#include "thrust/system/omp/detail/tabulate.h"
#include "thrust/system/omp/detail/temporary_buffer.h"
#include "thrust/system/omp/detail/transform.h"
#include "thrust/system/omp/detail/transform_reduce.h"
#include "thrust/system/omp/detail/transform_scan.h"
#include "thrust/system/omp/detail/uninitialized_copy.h"
#include "thrust/system/omp/detail/uninitialized_fill.h"
#include "thrust/system/omp/detail/unique.h"
#include "thrust/system/omp/detail/unique.inl"
#include "thrust/system/omp/detail/unique_by_key.h"
#include "thrust/system/omp/detail/unique_by_key.inl"
#include "thrust/system/omp/execution_policy.h"
#include "thrust/system/omp/memory.h"
#include "thrust/system/omp/memory_resource.h"
#include "thrust/system/omp/pointer.h"
#include "thrust/system/omp/vector.h"
#include "thrust/system/system_error.h"
#include "thrust/system/tbb/detail/adjacent_difference.h"
#include "thrust/system/tbb/detail/assign_value.h"
#include "thrust/system/tbb/detail/binary_search.h"
#include "thrust/system/tbb/detail/copy.h"
#include "thrust/system/tbb/detail/copy.inl"
#include "thrust/system/tbb/detail/copy_if.h"
#include "thrust/system/tbb/detail/copy_if.inl"
#include "thrust/system/tbb/detail/count.h"
#include "thrust/system/tbb/detail/equal.h"
#include "thrust/system/tbb/detail/execution_policy.h"
#include "thrust/system/tbb/detail/extrema.h"
#include "thrust/system/tbb/detail/fill.h"
#include "thrust/system/tbb/detail/find.h"
#include "thrust/system/tbb/detail/for_each.h"
#include "thrust/system/tbb/detail/for_each.inl"
#include "thrust/system/tbb/detail/gather.h"
#include "thrust/system/tbb/detail/generate.h"
#include "thrust/system/tbb/detail/get_value.h"
#include "thrust/system/tbb/detail/inner_product.h"
#include "thrust/system/tbb/detail/iter_swap.h"
#include "thrust/system/tbb/detail/logical.h"
#include "thrust/system/tbb/detail/malloc_and_free.h"
#include "thrust/system/tbb/detail/memory.inl"
#include "thrust/system/tbb/detail/merge.h"
#include "thrust/system/tbb/detail/merge.inl"
#include "thrust/system/tbb/detail/mismatch.h"
#include "thrust/system/tbb/detail/par.h"
#include "thrust/system/tbb/detail/partition.h"
#include "thrust/system/tbb/detail/partition.inl"
#include "thrust/system/tbb/detail/per_device_resource.h"
#include "thrust/system/tbb/detail/reduce.h"
#include "thrust/system/tbb/detail/reduce.inl"
#include "thrust/system/tbb/detail/reduce_by_key.h"
#include "thrust/system/tbb/detail/reduce_by_key.inl"
#include "thrust/system/tbb/detail/reduce_intervals.h"
#include "thrust/system/tbb/detail/remove.h"
#include "thrust/system/tbb/detail/remove.inl"
#include "thrust/system/tbb/detail/replace.h"
#include "thrust/system/tbb/detail/reverse.h"
#include "thrust/system/tbb/detail/scan.h"
#include "thrust/system/tbb/detail/scan.inl"
#include "thrust/system/tbb/detail/scan_by_key.h"
#include "thrust/system/tbb/detail/scatter.h"
#include "thrust/system/tbb/detail/sequence.h"
#include "thrust/system/tbb/detail/set_operations.h"
#include "thrust/system/tbb/detail/sort.h"
#include "thrust/system/tbb/detail/sort.inl"
#include "thrust/system/tbb/detail/swap_ranges.h"
#include "thrust/system/tbb/detail/tabulate.h"
#include "thrust/system/tbb/detail/temporary_buffer.h"
#include "thrust/system/tbb/detail/transform.h"
#include "thrust/system/tbb/detail/transform_reduce.h"
#include "thrust/system/tbb/detail/transform_scan.h"
#include "thrust/system/tbb/detail/uninitialized_copy.h"
#include "thrust/system/tbb/detail/uninitialized_fill.h"
#include "thrust/system/tbb/detail/unique.h"
#include "thrust/system/tbb/detail/unique.inl"
#include "thrust/system/tbb/detail/unique_by_key.h"
#include "thrust/system/tbb/detail/unique_by_key.inl"
#include "thrust/system/tbb/execution_policy.h"
#include "thrust/system/tbb/memory.h"
#include "thrust/system/tbb/memory_resource.h"
#include "thrust/system/tbb/pointer.h"
#include "thrust/system/tbb/vector.h"
#include "thrust/system_error.h"
#include "thrust/tabulate.h"
#include "thrust/transform.h"
#include "thrust/transform_reduce.h"
#include "thrust/transform_scan.h"
#include "thrust/tuple.h"
#include "thrust/type_traits/integer_sequence.h"
#include "thrust/type_traits/is_contiguous_iterator.h"
#include "thrust/type_traits/is_execution_policy.h"
#include "thrust/type_traits/is_operator_less_or_greater_function_object.h"
#include "thrust/type_traits/is_operator_plus_function_object.h"
#include "thrust/type_traits/is_trivially_relocatable.h"
#include "thrust/type_traits/logical_metafunctions.h"
#include "thrust/type_traits/remove_cvref.h"
#include "thrust/type_traits/void_t.h"
#include "thrust/uninitialized_copy.h"
#include "thrust/uninitialized_fill.h"
#include "thrust/unique.h"
#include "thrust/universal_allocator.h"
#include "thrust/universal_ptr.h"
#include "thrust/universal_vector.h"
#include "thrust/version.h"
#include "thrust/zip_function.h"