Simple-Log  alpha-v0.7
Filters.hpp File Reference
#include "Record.hpp"
#include "TupleAlgorithms.hpp"
#include <algorithm>
#include <concepts>
#include <functional>
#include <tuple>
#include <type_traits>

Go to the source code of this file.

Classes

class  sl::log::ProjectionFilter< TProjection, TUnaryPredicate >
 Combines a projection on Record type with a predicate into an invokable object. More...
 
class  sl::log::FilterChain< TAlgorithm, TFilter >
 Chains multiple filter together. More...
 
class  sl::log::FilterAllOf< TFilter >
 Convenience type for chaining multiple filter with AND. More...
 
class  sl::log::FilterAnyOf< TFilter >
 Convenience type for chaining multiple filter with OR. More...
 
class  sl::log::FilterNoneOf< TFilter >
 Convenience type for chaining multiple filter with NOR. More...
 

Namespaces

 sl
 
 sl::log
 

Functions

template<Record TRecord, std::predicate< const RecordMessage_t< TRecord > & > TUnaryPredicate>
constexpr auto sl::log::makeMessageFilterFor (TUnaryPredicate &&predicate)
 Factory function for creating ProjectionFilter of Record::message member. More...
 
template<Record TRecord, std::predicate< const RecordSeverity_t< TRecord > & > TUnaryPredicate>
constexpr auto sl::log::makeSeverityFilterFor (TUnaryPredicate &&predicate)
 Factory function for creating ProjectionFilter of Record::severity member. More...
 
template<Record TRecord, std::predicate< const RecordChannel_t< TRecord > & > TUnaryPredicate>
constexpr auto sl::log::makeChannelFilterFor (TUnaryPredicate &&predicate)
 Factory function for creating ProjectionFilter of Record::channel member. More...
 
template<Record TRecord, std::predicate< const RecordTimePoint_t< TRecord > & > TUnaryPredicate>
constexpr auto sl::log::makeTimePointFilterFor (TUnaryPredicate &&predicate)
 Factory function for creating ProjectionFilter of Record::timePoint member. More...