|
ThreadSchedule 3.0.0
Modern C++ thread management library
|
CRTP mixin that provides functional-style query facade methods. More...
#include <query_facade_mixin.hpp>
Public Member Functions | |
| template<typename Predicate > | |
| auto | filter (Predicate &&pred) const |
| auto | count () const -> size_t |
| auto | empty () const -> bool |
| template<typename Fn > | |
| void | for_each (Fn &&fn) const |
| template<typename Predicate , typename Fn > | |
| void | apply (Predicate &&pred, Fn &&fn) const |
| template<typename Fn > | |
| auto | map (Fn &&fn) const -> std::vector< std::invoke_result_t< Fn, registered_thread_info_backend const & > > |
| template<typename Predicate > | |
| auto | find_if (Predicate &&pred) const -> std::optional< registered_thread_info_backend > |
| template<typename Predicate > | |
| auto | any (Predicate &&pred) const -> bool |
| template<typename Predicate > | |
| auto | all (Predicate &&pred) const -> bool |
| template<typename Predicate > | |
| auto | none (Predicate &&pred) const -> bool |
| auto | take (size_t n) const |
| auto | skip (size_t n) const |
CRTP mixin that provides functional-style query facade methods.
The derived class must implement a public query() method returning a query_view-like object. All facade methods (filter, map, for_each, find_if, any, all, none, take, skip, count, empty, apply) delegate to it.
Return types are deduced via auto so the mixin can be used as a base class before the concrete query_view type is fully defined (CRTP).
| Derived | CRTP derived type. |
Definition at line 31 of file query_facade_mixin.hpp.
|
inline |
Definition at line 96 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
|
inline |
Definition at line 89 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
|
inline |
Definition at line 68 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
|
inline |
Definition at line 48 of file query_facade_mixin.hpp.
|
inline |
Definition at line 54 of file query_facade_mixin.hpp.
|
inline |
Definition at line 42 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
|
inline |
Definition at line 82 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
|
inline |
Definition at line 61 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
|
inline |
Definition at line 75 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
Referenced by threadschedule::detail::query_facade_mixin< Derived >::all(), threadschedule::detail::query_facade_mixin< Derived >::any(), threadschedule::detail::query_facade_mixin< Derived >::apply(), threadschedule::detail::query_facade_mixin< Derived >::filter(), threadschedule::detail::query_facade_mixin< Derived >::find_if(), threadschedule::detail::query_facade_mixin< Derived >::for_each(), threadschedule::detail::query_facade_mixin< Derived >::map(), threadschedule::detail::query_facade_mixin< Derived >::none(), threadschedule::detail::query_facade_mixin< Derived >::skip(), and threadschedule::detail::query_facade_mixin< Derived >::take().
|
inline |
Definition at line 103 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
|
inline |
Definition at line 115 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().
|
inline |
Definition at line 109 of file query_facade_mixin.hpp.
References threadschedule::detail::query_facade_mixin< Derived >::map().