#include <filtered_view.h>
Classes | |
class | iterator |
Public Types | |
using | const_iterator = iterator |
Public Member Functions | |
constexpr | FilteredView (const Container &container, const Filter &filter) |
constexpr | FilteredView (const Container &container, Filter &&filter) |
constexpr | FilteredView (FilteredView &&)=default |
constexpr FilteredView & | operator= (FilteredView &&)=default |
constexpr | FilteredView (const FilteredView &)=delete |
constexpr FilteredView & | operator= (const FilteredView &)=delete |
const auto & | operator[] (size_t index) const |
const auto & | front () const |
const auto & | back () const |
size_t | size () const |
bool | empty () const |
iterator | begin () const |
iterator | end () const |
pw::containers::FilteredView
provides a view of a container with only elements that match the specified filter. This class is similar to C++20's std::ranges::filter_view.
FilteredView
works with any container with an incrementable iterator. The back()
function currently requires a bidirectional iterator.
To create a FilteredView
, pass a container and a filter predicate, which may be any callable type including a function pointer, lambda, or pw::Function
.