range-v3/0.12.0

Range library for C++14/17/20, basis for C++20's std::ranges
Recipe info
2023-07-13

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
range-v3/0.12.0

Using range-v3

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]
range-v3/0.12.0
[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("range-v3/0.12.0")

    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): range-v3
  • CMake target name(s): range-v3::range-v3
  • pkg-config file name(s): range-v3.pc

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

# ...
find_package(range-v3 REQUIRED)
# ...
target_link_libraries(YOUR_TARGET range-v3::range-v3)

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

#include "concepts/compare.hpp"
#include "concepts/concepts.hpp"
#include "concepts/swap.hpp"
#include "concepts/type_traits.hpp"
#include "meta/meta.hpp"
#include "meta/meta_fwd.hpp"
#include "module.modulemap"
#include "range/v3/action.hpp"
#include "range/v3/action/action.hpp"
#include "range/v3/action/adjacent_remove_if.hpp"
#include "range/v3/action/concepts.hpp"
#include "range/v3/action/drop.hpp"
#include "range/v3/action/drop_while.hpp"
#include "range/v3/action/erase.hpp"
#include "range/v3/action/insert.hpp"
#include "range/v3/action/join.hpp"
#include "range/v3/action/push_back.hpp"
#include "range/v3/action/push_front.hpp"
#include "range/v3/action/remove.hpp"
#include "range/v3/action/remove_if.hpp"
#include "range/v3/action/reverse.hpp"
#include "range/v3/action/shuffle.hpp"
#include "range/v3/action/slice.hpp"
#include "range/v3/action/sort.hpp"
#include "range/v3/action/split.hpp"
#include "range/v3/action/split_when.hpp"
#include "range/v3/action/stable_sort.hpp"
#include "range/v3/action/stride.hpp"
#include "range/v3/action/take.hpp"
#include "range/v3/action/take_while.hpp"
#include "range/v3/action/transform.hpp"
#include "range/v3/action/unique.hpp"
#include "range/v3/action/unstable_remove_if.hpp"
#include "range/v3/algorithm.hpp"
#include "range/v3/algorithm/adjacent_find.hpp"
#include "range/v3/algorithm/adjacent_remove_if.hpp"
#include "range/v3/algorithm/all_of.hpp"
#include "range/v3/algorithm/any_of.hpp"
#include "range/v3/algorithm/aux_/equal_range_n.hpp"
#include "range/v3/algorithm/aux_/lower_bound_n.hpp"
#include "range/v3/algorithm/aux_/merge_n.hpp"
#include "range/v3/algorithm/aux_/merge_n_with_buffer.hpp"
#include "range/v3/algorithm/aux_/partition_point_n.hpp"
#include "range/v3/algorithm/aux_/sort_n_with_buffer.hpp"
#include "range/v3/algorithm/aux_/upper_bound_n.hpp"
#include "range/v3/algorithm/binary_search.hpp"
#include "range/v3/algorithm/contains.hpp"
#include "range/v3/algorithm/copy.hpp"
#include "range/v3/algorithm/copy_backward.hpp"
#include "range/v3/algorithm/copy_if.hpp"
#include "range/v3/algorithm/copy_n.hpp"
#include "range/v3/algorithm/count.hpp"
#include "range/v3/algorithm/count_if.hpp"
#include "range/v3/algorithm/ends_with.hpp"
#include "range/v3/algorithm/equal.hpp"
#include "range/v3/algorithm/equal_range.hpp"
#include "range/v3/algorithm/fill.hpp"
#include "range/v3/algorithm/fill_n.hpp"
#include "range/v3/algorithm/find.hpp"
#include "range/v3/algorithm/find_end.hpp"
#include "range/v3/algorithm/find_first_of.hpp"
#include "range/v3/algorithm/find_if.hpp"
#include "range/v3/algorithm/find_if_not.hpp"
#include "range/v3/algorithm/fold.hpp"
#include "range/v3/algorithm/fold_left.hpp"
#include "range/v3/algorithm/fold_right.hpp"
#include "range/v3/algorithm/for_each.hpp"
#include "range/v3/algorithm/for_each_n.hpp"
#include "range/v3/algorithm/generate.hpp"
#include "range/v3/algorithm/generate_n.hpp"
#include "range/v3/algorithm/heap_algorithm.hpp"
#include "range/v3/algorithm/inplace_merge.hpp"
#include "range/v3/algorithm/is_partitioned.hpp"
#include "range/v3/algorithm/is_sorted.hpp"
#include "range/v3/algorithm/is_sorted_until.hpp"
#include "range/v3/algorithm/lexicographical_compare.hpp"
#include "range/v3/algorithm/lower_bound.hpp"
#include "range/v3/algorithm/max.hpp"
#include "range/v3/algorithm/max_element.hpp"
#include "range/v3/algorithm/merge.hpp"
#include "range/v3/algorithm/min.hpp"
#include "range/v3/algorithm/min_element.hpp"
#include "range/v3/algorithm/minmax.hpp"
#include "range/v3/algorithm/minmax_element.hpp"
#include "range/v3/algorithm/mismatch.hpp"
#include "range/v3/algorithm/move.hpp"
#include "range/v3/algorithm/move_backward.hpp"
#include "range/v3/algorithm/none_of.hpp"
#include "range/v3/algorithm/nth_element.hpp"
#include "range/v3/algorithm/partial_sort.hpp"
#include "range/v3/algorithm/partial_sort_copy.hpp"
#include "range/v3/algorithm/partition.hpp"
#include "range/v3/algorithm/partition_copy.hpp"
#include "range/v3/algorithm/partition_point.hpp"
#include "range/v3/algorithm/permutation.hpp"
#include "range/v3/algorithm/remove.hpp"
#include "range/v3/algorithm/remove_copy.hpp"
#include "range/v3/algorithm/remove_copy_if.hpp"
#include "range/v3/algorithm/remove_if.hpp"
#include "range/v3/algorithm/replace.hpp"
#include "range/v3/algorithm/replace_copy.hpp"
#include "range/v3/algorithm/replace_copy_if.hpp"
#include "range/v3/algorithm/replace_if.hpp"
#include "range/v3/algorithm/result_types.hpp"
#include "range/v3/algorithm/reverse.hpp"
#include "range/v3/algorithm/reverse_copy.hpp"
#include "range/v3/algorithm/rotate.hpp"
#include "range/v3/algorithm/rotate_copy.hpp"
#include "range/v3/algorithm/sample.hpp"
#include "range/v3/algorithm/search.hpp"
#include "range/v3/algorithm/search_n.hpp"
#include "range/v3/algorithm/set_algorithm.hpp"
#include "range/v3/algorithm/shuffle.hpp"
#include "range/v3/algorithm/sort.hpp"
#include "range/v3/algorithm/stable_partition.hpp"
#include "range/v3/algorithm/stable_sort.hpp"
#include "range/v3/algorithm/starts_with.hpp"
#include "range/v3/algorithm/swap_ranges.hpp"
#include "range/v3/algorithm/tagspec.hpp"
#include "range/v3/algorithm/transform.hpp"
#include "range/v3/algorithm/unique.hpp"
#include "range/v3/algorithm/unique_copy.hpp"
#include "range/v3/algorithm/unstable_remove_if.hpp"
#include "range/v3/algorithm/upper_bound.hpp"
#include "range/v3/all.hpp"
#include "range/v3/at.hpp"
#include "range/v3/back.hpp"
#include "range/v3/begin_end.hpp"
#include "range/v3/compare.hpp"
#include "range/v3/core.hpp"
#include "range/v3/data.hpp"
#include "range/v3/detail/adl_get.hpp"
#include "range/v3/detail/config.hpp"
#include "range/v3/detail/epilogue.hpp"
#include "range/v3/detail/prologue.hpp"
#include "range/v3/detail/range_access.hpp"
#include "range/v3/detail/satisfy_boost_range.hpp"
#include "range/v3/detail/variant.hpp"
#include "range/v3/detail/with_braced_init_args.hpp"
#include "range/v3/distance.hpp"
#include "range/v3/empty.hpp"
#include "range/v3/experimental/utility/generator.hpp"
#include "range/v3/experimental/view/shared.hpp"
#include "range/v3/front.hpp"
#include "range/v3/functional.hpp"
#include "range/v3/functional/arithmetic.hpp"
#include "range/v3/functional/bind.hpp"
#include "range/v3/functional/bind_back.hpp"
#include "range/v3/functional/comparisons.hpp"
#include "range/v3/functional/compose.hpp"
#include "range/v3/functional/concepts.hpp"
#include "range/v3/functional/identity.hpp"
#include "range/v3/functional/indirect.hpp"
#include "range/v3/functional/invoke.hpp"
#include "range/v3/functional/not_fn.hpp"
#include "range/v3/functional/on.hpp"
#include "range/v3/functional/overload.hpp"
#include "range/v3/functional/pipeable.hpp"
#include "range/v3/functional/reference_wrapper.hpp"
#include "range/v3/getlines.hpp"
#include "range/v3/index.hpp"
#include "range/v3/istream_range.hpp"
#include "range/v3/iterator.hpp"
#include "range/v3/iterator/access.hpp"
#include "range/v3/iterator/basic_iterator.hpp"
#include "range/v3/iterator/common_iterator.hpp"
#include "range/v3/iterator/concepts.hpp"
#include "range/v3/iterator/counted_iterator.hpp"
#include "range/v3/iterator/default_sentinel.hpp"
#include "range/v3/iterator/diffmax_t.hpp"
#include "range/v3/iterator/insert_iterators.hpp"
#include "range/v3/iterator/move_iterators.hpp"
#include "range/v3/iterator/operations.hpp"
#include "range/v3/iterator/reverse_iterator.hpp"
#include "range/v3/iterator/stream_iterators.hpp"
#include "range/v3/iterator/traits.hpp"
#include "range/v3/iterator/unreachable_sentinel.hpp"
#include "range/v3/iterator_range.hpp"
#include "range/v3/numeric.hpp"
#include "range/v3/numeric/accumulate.hpp"
#include "range/v3/numeric/adjacent_difference.hpp"
#include "range/v3/numeric/inner_product.hpp"
#include "range/v3/numeric/iota.hpp"
#include "range/v3/numeric/partial_sum.hpp"
#include "range/v3/range.hpp"
#include "range/v3/range/access.hpp"
#include "range/v3/range/concepts.hpp"
#include "range/v3/range/conversion.hpp"
#include "range/v3/range/dangling.hpp"
#include "range/v3/range/operations.hpp"
#include "range/v3/range/primitives.hpp"
#include "range/v3/range/traits.hpp"
#include "range/v3/range_access.hpp"
#include "range/v3/range_concepts.hpp"
#include "range/v3/range_for.hpp"
#include "range/v3/range_fwd.hpp"
#include "range/v3/range_traits.hpp"
#include "range/v3/size.hpp"
#include "range/v3/span.hpp"
#include "range/v3/to_container.hpp"
#include "range/v3/utility.hpp"
#include "range/v3/utility/addressof.hpp"
#include "range/v3/utility/any.hpp"
#include "range/v3/utility/associated_types.hpp"
#include "range/v3/utility/basic_iterator.hpp"
#include "range/v3/utility/box.hpp"
#include "range/v3/utility/common_iterator.hpp"
#include "range/v3/utility/common_tuple.hpp"
#include "range/v3/utility/common_type.hpp"
#include "range/v3/utility/compressed_pair.hpp"
#include "range/v3/utility/concepts.hpp"
#include "range/v3/utility/copy.hpp"
#include "range/v3/utility/counted_iterator.hpp"
#include "range/v3/utility/dangling.hpp"
#include "range/v3/utility/functional.hpp"
#include "range/v3/utility/get.hpp"
#include "range/v3/utility/in_place.hpp"
#include "range/v3/utility/infinity.hpp"
#include "range/v3/utility/invoke.hpp"
#include "range/v3/utility/iterator.hpp"
#include "range/v3/utility/iterator_concepts.hpp"
#include "range/v3/utility/iterator_traits.hpp"
#include "range/v3/utility/memory.hpp"
#include "range/v3/utility/move.hpp"
#include "range/v3/utility/nullptr_v.hpp"
#include "range/v3/utility/optional.hpp"
#include "range/v3/utility/polymorphic_cast.hpp"
#include "range/v3/utility/random.hpp"
#include "range/v3/utility/scope_exit.hpp"
#include "range/v3/utility/semiregular.hpp"
#include "range/v3/utility/semiregular_box.hpp"
#include "range/v3/utility/static_const.hpp"
#include "range/v3/utility/swap.hpp"
#include "range/v3/utility/tagged_pair.hpp"
#include "range/v3/utility/tagged_tuple.hpp"
#include "range/v3/utility/tuple_algorithm.hpp"
#include "range/v3/utility/unreachable.hpp"
#include "range/v3/utility/variant.hpp"
#include "range/v3/version.hpp"
#include "range/v3/view.hpp"
#include "range/v3/view/adaptor.hpp"
#include "range/v3/view/addressof.hpp"
#include "range/v3/view/adjacent_filter.hpp"
#include "range/v3/view/adjacent_remove_if.hpp"
#include "range/v3/view/all.hpp"
#include "range/v3/view/any_view.hpp"
#include "range/v3/view/bounded.hpp"
#include "range/v3/view/c_str.hpp"
#include "range/v3/view/cache1.hpp"
#include "range/v3/view/cartesian_product.hpp"
#include "range/v3/view/chunk.hpp"
#include "range/v3/view/chunk_by.hpp"
#include "range/v3/view/common.hpp"
#include "range/v3/view/concat.hpp"
#include "range/v3/view/const.hpp"
#include "range/v3/view/counted.hpp"
#include "range/v3/view/cycle.hpp"
#include "range/v3/view/delimit.hpp"
#include "range/v3/view/drop.hpp"
#include "range/v3/view/drop_exactly.hpp"
#include "range/v3/view/drop_last.hpp"
#include "range/v3/view/drop_while.hpp"
#include "range/v3/view/empty.hpp"
#include "range/v3/view/enumerate.hpp"
#include "range/v3/view/exclusive_scan.hpp"
#include "range/v3/view/facade.hpp"
#include "range/v3/view/filter.hpp"
#include "range/v3/view/for_each.hpp"
#include "range/v3/view/generate.hpp"
#include "range/v3/view/generate_n.hpp"
#include "range/v3/view/getlines.hpp"
#include "range/v3/view/group_by.hpp"
#include "range/v3/view/indices.hpp"
#include "range/v3/view/indirect.hpp"
#include "range/v3/view/interface.hpp"
#include "range/v3/view/intersperse.hpp"
#include "range/v3/view/iota.hpp"
#include "range/v3/view/istream.hpp"
#include "range/v3/view/join.hpp"
#include "range/v3/view/linear_distribute.hpp"
#include "range/v3/view/map.hpp"
#include "range/v3/view/move.hpp"
#include "range/v3/view/partial_sum.hpp"
#include "range/v3/view/ref.hpp"
#include "range/v3/view/remove.hpp"
#include "range/v3/view/remove_if.hpp"
#include "range/v3/view/repeat.hpp"
#include "range/v3/view/repeat_n.hpp"
#include "range/v3/view/replace.hpp"
#include "range/v3/view/replace_if.hpp"
#include "range/v3/view/reverse.hpp"
#include "range/v3/view/sample.hpp"
#include "range/v3/view/set_algorithm.hpp"
#include "range/v3/view/single.hpp"
#include "range/v3/view/slice.hpp"
#include "range/v3/view/sliding.hpp"
#include "range/v3/view/span.hpp"
#include "range/v3/view/split.hpp"
#include "range/v3/view/split_when.hpp"
#include "range/v3/view/stride.hpp"
#include "range/v3/view/subrange.hpp"
#include "range/v3/view/tail.hpp"
#include "range/v3/view/take.hpp"
#include "range/v3/view/take_exactly.hpp"
#include "range/v3/view/take_last.hpp"
#include "range/v3/view/take_while.hpp"
#include "range/v3/view/tokenize.hpp"
#include "range/v3/view/transform.hpp"
#include "range/v3/view/trim.hpp"
#include "range/v3/view/unbounded.hpp"
#include "range/v3/view/unique.hpp"
#include "range/v3/view/view.hpp"
#include "range/v3/view/zip.hpp"
#include "range/v3/view/zip_with.hpp"
#include "range/v3/view_adaptor.hpp"
#include "range/v3/view_facade.hpp"
#include "range/v3/view_interface.hpp"
#include "std/detail/associated_types.hpp"
#include "std/iterator"