Skip to content

A generalized type-erased view with customizable properties

License

Notifications You must be signed in to change notification settings

bemanproject/any_view

Repository files navigation

beman.any_view: A generalized type-erased view with customizable properties

Library Status Continuous Integration Tests Lint Check (pre-commit)

Implements: std::ranges::any_view proposed in any_view (P3411R1).

Status: Under development and not yet ready for production use.

Usage

std::ranges::any_view is a class template that provides a type-erased interface for std::ranges::view. It may additionally model other concepts like std::ranges::contiguous_range, std::ranges::sized_range, std::ranges::borrowed_range, and std::copyable depending on the instantiation.

Integrate beman.any_view into your project

Use beman.any_view directly from CMake

For CMake based projects, you can include it as a dependency using the FetchContent module:

include(FetchContent)

FetchContent_Declare(
  beman.any_view
  GIT_REPOSITORY https://github.com/bemanproject/any_view.git
  GIT_TAG main
  EXCLUDE_FROM_ALL)
FetchContent_MakeAvailable(beman.any_view)

You will also need to add beman::any_view to the link libraries of any targets that include beman/any_view/*.hpp in their source or header files:

target_link_libraries(yourlib PUBLIC beman::any_view)

Contributing

Please do! Issues and pull requests are appreciated.

About

A generalized type-erased view with customizable properties

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published