nanorange/cci.20200706

NanoRange is a C++17 implementation of the C++20 Ranges proposals (formerly the Ranges TS).
Recipe info
2023-03-31

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
nanorange/cci.20200706

Using nanorange

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

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]
nanorange/cci.20200706
[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("nanorange/cci.20200706")

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

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

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

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

#include "nanorange.hpp"
#include "nanorange/algorithm.hpp"
#include "nanorange/algorithm/adjacent_find.hpp"
#include "nanorange/algorithm/all_of.hpp"
#include "nanorange/algorithm/any_of.hpp"
#include "nanorange/algorithm/binary_search.hpp"
#include "nanorange/algorithm/clamp.hpp"
#include "nanorange/algorithm/copy.hpp"
#include "nanorange/algorithm/count.hpp"
#include "nanorange/algorithm/equal.hpp"
#include "nanorange/algorithm/equal_range.hpp"
#include "nanorange/algorithm/fill.hpp"
#include "nanorange/algorithm/fill_n.hpp"
#include "nanorange/algorithm/find.hpp"
#include "nanorange/algorithm/find_end.hpp"
#include "nanorange/algorithm/find_first_of.hpp"
#include "nanorange/algorithm/for_each.hpp"
#include "nanorange/algorithm/generate.hpp"
#include "nanorange/algorithm/generate_n.hpp"
#include "nanorange/algorithm/includes.hpp"
#include "nanorange/algorithm/inplace_merge.hpp"
#include "nanorange/algorithm/is_heap.hpp"
#include "nanorange/algorithm/is_heap_until.hpp"
#include "nanorange/algorithm/is_partitioned.hpp"
#include "nanorange/algorithm/is_permutation.hpp"
#include "nanorange/algorithm/is_sorted.hpp"
#include "nanorange/algorithm/is_sorted_until.hpp"
#include "nanorange/algorithm/lexicographical_compare.hpp"
#include "nanorange/algorithm/lower_bound.hpp"
#include "nanorange/algorithm/make_heap.hpp"
#include "nanorange/algorithm/max.hpp"
#include "nanorange/algorithm/max_element.hpp"
#include "nanorange/algorithm/merge.hpp"
#include "nanorange/algorithm/min.hpp"
#include "nanorange/algorithm/min_element.hpp"
#include "nanorange/algorithm/minmax.hpp"
#include "nanorange/algorithm/minmax_element.hpp"
#include "nanorange/algorithm/mismatch.hpp"
#include "nanorange/algorithm/move.hpp"
#include "nanorange/algorithm/next_permutation.hpp"
#include "nanorange/algorithm/none_of.hpp"
#include "nanorange/algorithm/nth_element.hpp"
#include "nanorange/algorithm/partial_sort.hpp"
#include "nanorange/algorithm/partial_sort_copy.hpp"
#include "nanorange/algorithm/partition.hpp"
#include "nanorange/algorithm/partition_copy.hpp"
#include "nanorange/algorithm/partition_point.hpp"
#include "nanorange/algorithm/pop_heap.hpp"
#include "nanorange/algorithm/prev_permutation.hpp"
#include "nanorange/algorithm/push_heap.hpp"
#include "nanorange/algorithm/remove.hpp"
#include "nanorange/algorithm/remove_copy.hpp"
#include "nanorange/algorithm/remove_copy_if.hpp"
#include "nanorange/algorithm/remove_if.hpp"
#include "nanorange/algorithm/replace.hpp"
#include "nanorange/algorithm/replace_copy.hpp"
#include "nanorange/algorithm/replace_copy_if.hpp"
#include "nanorange/algorithm/replace_if.hpp"
#include "nanorange/algorithm/reverse.hpp"
#include "nanorange/algorithm/reverse_copy.hpp"
#include "nanorange/algorithm/rotate.hpp"
#include "nanorange/algorithm/rotate_copy.hpp"
#include "nanorange/algorithm/sample.hpp"
#include "nanorange/algorithm/search.hpp"
#include "nanorange/algorithm/search_n.hpp"
#include "nanorange/algorithm/set_difference.hpp"
#include "nanorange/algorithm/set_intersection.hpp"
#include "nanorange/algorithm/set_symmetric_difference.hpp"
#include "nanorange/algorithm/set_union.hpp"
#include "nanorange/algorithm/shuffle.hpp"
#include "nanorange/algorithm/sort.hpp"
#include "nanorange/algorithm/sort_heap.hpp"
#include "nanorange/algorithm/stable_partition.hpp"
#include "nanorange/algorithm/stable_sort.hpp"
#include "nanorange/algorithm/swap_ranges.hpp"
#include "nanorange/algorithm/transform.hpp"
#include "nanorange/algorithm/unique.hpp"
#include "nanorange/algorithm/unique_copy.hpp"
#include "nanorange/algorithm/upper_bound.hpp"
#include "nanorange/concepts.hpp"
#include "nanorange/detail/algorithm/heap_sift.hpp"
#include "nanorange/detail/algorithm/pdqsort.hpp"
#include "nanorange/detail/algorithm/result_types.hpp"
#include "nanorange/detail/common_reference.hpp"
#include "nanorange/detail/common_type.hpp"
#include "nanorange/detail/concepts/comparison.hpp"
#include "nanorange/detail/concepts/core.hpp"
#include "nanorange/detail/concepts/object.hpp"
#include "nanorange/detail/concepts/swappable.hpp"
#include "nanorange/detail/functional/comparisons.hpp"
#include "nanorange/detail/functional/decay_copy.hpp"
#include "nanorange/detail/functional/identity.hpp"
#include "nanorange/detail/functional/invoke.hpp"
#include "nanorange/detail/iterator/algorithm_requirements.hpp"
#include "nanorange/detail/iterator/associated_types.hpp"
#include "nanorange/detail/iterator/concepts.hpp"
#include "nanorange/detail/iterator/dereferenceable.hpp"
#include "nanorange/detail/iterator/indirect_callable_concepts.hpp"
#include "nanorange/detail/iterator/iter_move.hpp"
#include "nanorange/detail/iterator/iter_swap.hpp"
#include "nanorange/detail/iterator/projected.hpp"
#include "nanorange/detail/iterator/traits.hpp"
#include "nanorange/detail/macros.hpp"
#include "nanorange/detail/memory/concepts.hpp"
#include "nanorange/detail/memory/temporary_vector.hpp"
#include "nanorange/detail/ranges/access.hpp"
#include "nanorange/detail/ranges/basic_range_types.hpp"
#include "nanorange/detail/ranges/begin_end.hpp"
#include "nanorange/detail/ranges/borrowed_range.hpp"
#include "nanorange/detail/ranges/concepts.hpp"
#include "nanorange/detail/ranges/primitives.hpp"
#include "nanorange/detail/ranges/range_concept.hpp"
#include "nanorange/detail/swap.hpp"
#include "nanorange/detail/type_traits.hpp"
#include "nanorange/detail/views/range_adaptors.hpp"
#include "nanorange/detail/views/semiregular_box.hpp"
#include "nanorange/functional.hpp"
#include "nanorange/iterator.hpp"
#include "nanorange/iterator/back_insert_iterator.hpp"
#include "nanorange/iterator/common_iterator.hpp"
#include "nanorange/iterator/concepts.hpp"
#include "nanorange/iterator/counted_iterator.hpp"
#include "nanorange/iterator/default_sentinel.hpp"
#include "nanorange/iterator/front_insert_iterator.hpp"
#include "nanorange/iterator/insert_iterator.hpp"
#include "nanorange/iterator/istream_iterator.hpp"
#include "nanorange/iterator/istreambuf_iterator.hpp"
#include "nanorange/iterator/move_iterator.hpp"
#include "nanorange/iterator/operations.hpp"
#include "nanorange/iterator/ostream_iterator.hpp"
#include "nanorange/iterator/ostreambuf_iterator.hpp"
#include "nanorange/iterator/reverse_iterator.hpp"
#include "nanorange/iterator/unreachable.hpp"
#include "nanorange/memory.hpp"
#include "nanorange/memory/destroy.hpp"
#include "nanorange/memory/uninitialized_copy.hpp"
#include "nanorange/memory/uninitialized_default_construct.hpp"
#include "nanorange/memory/uninitialized_fill.hpp"
#include "nanorange/memory/uninitialized_move.hpp"
#include "nanorange/memory/uninitialized_value_construct.hpp"
#include "nanorange/random.hpp"
#include "nanorange/ranges.hpp"
#include "nanorange/type_traits.hpp"
#include "nanorange/utility.hpp"
#include "nanorange/views.hpp"
#include "nanorange/views/all.hpp"
#include "nanorange/views/common.hpp"
#include "nanorange/views/counted.hpp"
#include "nanorange/views/drop.hpp"
#include "nanorange/views/drop_while.hpp"
#include "nanorange/views/elements.hpp"
#include "nanorange/views/empty.hpp"
#include "nanorange/views/filter.hpp"
#include "nanorange/views/interface.hpp"
#include "nanorange/views/iota.hpp"
#include "nanorange/views/istream.hpp"
#include "nanorange/views/join.hpp"
#include "nanorange/views/ref.hpp"
#include "nanorange/views/reverse.hpp"
#include "nanorange/views/single.hpp"
#include "nanorange/views/split.hpp"
#include "nanorange/views/subrange.hpp"
#include "nanorange/views/take.hpp"
#include "nanorange/views/take_while.hpp"
#include "nanorange/views/transform.hpp"