Simple-Log
alpha-v0.7
|
Chains multiple filter together. More...
#include <Filters.hpp>
Public Types | |
using | Algorithm_t = std::remove_cvref_t< TAlgorithm > |
Public Member Functions | |
constexpr | FilterChain (TFilter ...filter) noexcept(std::is_nothrow_constructible_v< Algorithm_t > &&(std::is_nothrow_move_constructible_v< TFilter > &&...)) |
Constructor. More... | |
constexpr | FilterChain (TAlgorithm algorithm, TFilter ...filter) noexcept(std::is_nothrow_move_constructible_v< Algorithm_t > &&(std::is_nothrow_move_constructible_v< TFilter > &&...)) |
Constructor overload. More... | |
template<Record TRecord> | |
constexpr bool | operator() (const TRecord &rec) |
Call-operator. More... | |
constexpr bool | empty () const noexcept |
Returns whether the are no sub-filters attached. More... | |
constexpr std::size_t | size () const noexcept |
Obtains the amount of attached sub-filters. More... | |
Chains multiple filter together.
TAlgorithm | The used algorithm, which will determine how each invoke result will be treated. |
TFilter | Type of provided filter objects |
This class simply calls each provided filter successively. The provided algorithm will determine, how each invocation result will be treated.
using sl::log::FilterChain< TAlgorithm, TFilter >::Algorithm_t = std::remove_cvref_t<TAlgorithm> |
|
inlineexplicitconstexprnoexcept |
Constructor.
filter | Filter objects |
|
inlineexplicitconstexprnoexcept |
Constructor overload.
algorithm | Algorithm object |
filter | Filter objects |
|
inlineconstexprnoexcept |
Returns whether the are no sub-filters attached.
|
inlineconstexpr |
Call-operator.
TRecord | Concrete type of the used Record object |
rec | Record object |
|
inlineconstexprnoexcept |
Obtains the amount of attached sub-filters.