CMake
# clone iris as your project's subfolder
add_subdirectory(path/to/iris)
# link against iris with the executable
add_executable(main ...)
target_link_libraries(main PRIVATE iris)
- Visual Studio 2022 17.1 (
/std:latest
) - Visual Studio 2022 17.2 (
/std:c++20
) - GCC 11.2 (
-std=c++20
) - GCC 12.x (
-std=c++20
)
- Range Adaptors
ranges::join_with_view<Range, Pattern>
(P2441R1)ranges::zip_view<Ranges...>
(P2321R2)ranges::zip_transform_view<Fn, Ranges...>
(P2321R2)ranges::adjacent_view<Range, N>
(P2321R2)ranges::adjacent_transform_view<Range, Fn, N>
(P2321R2)ranges::chunk_by_view<Range, Pred>
(P2443R1)ranges::chunk_view<Range>
(P2442R1)ranges::slide_view<Range>
(P2442R1)ranges::repeat_view<Value, Bound>
(P2474R1)ranges::stride_view<Range>
(P1899R2)ranges::as_rvalue_view<Range>
(P2446R2)ranges::cartesian_product_view<Ranges...>
(P2374R3)ranges::enumerate_view<Range>
(P2164R5)ranges::concat_view<Ranges...>
(P2542R1)ranges::maybe_view<Nullable>
(P1255R7)ranges::unwrap_view<Range>
ranges::to_base64_view<Range, Binary, Text>
ranges::from_base64_view<Range, Binary, Text>
ranges::to_utf_view<Range, Unicode, UTF>
ranges::from_utf_view<Range, Unicode, UTF>
- Range Adaptor Objects
views::join_with
(P2441R1)views::zip
(P2321R2)views::zip_transform
(P2321R2)views::adjacent<N>
(P2321R2)views::pairwise
(P2321R2)views::adjacent_transform<N>
(P2321R2)views::pairwise_transform
(P2321R2)views::chunk_by
(P2443R1)views::chunk
(P2442R1)views::slide
(P2442R1)views::repeat
(P2474R1)views::stride
(P1899R2)views::as_rvalue
(P2446R2)views::cartesian_product
(P2374R3)views::enumerate
(P2164R5)views::concat
(P2542R1)views::maybe
(P1255R7)views::unwrap
views::to_base64
views::from_base64
views::to_utf<UTF>
views::from_utf
- Range Utilities
- Range Algorithms
ranges::find_last
(P1223R4)ranges::iota
(P2440R1)ranges::shift_left
(P2440R1)ranges::shift_right
(P2440R1)ranges::starts_with
(P1659R3)ranges::ends_with
(P1659R3)ranges::contains
(P2302R3)ranges::contains_subrange
(P2302R3)ranges::fold_left
(P2322R5)ranges::fold_left_first
(P2322R5)ranges::fold_right
(P2322R5)ranges::fold_right_last
(P2322R5)
- Coroutine Types
- Type Traits
is_scoped_enum
(P1048R1)is_specialization_of<T, Template>
pack_size<Ts...>
pack_element<Index, Ts...>
front_of_pack_element<Ts...>
back_of_pack_element<Ts...>
- Utilities
CMake
Options | Description | Value | Default |
---|---|---|---|
IRIS_BUILD_EXAMPLE | Build examples | ON/OFF | OFF |
IRIS_BUILD_TESTING | Build unit tests | ON/OFF | OFF |
cd iris/
cmake -B build -DIRIS_BUILD_EXAMPLE=ON -DIRIS_BUILD_TESTING=ON
cmake --build build
cd build && ctest && cd ..
IRIS is distributed under the MIT License.